私は新卒で接客業の会社に就職しましたが、これからはITの時代だと考えた為、働きながらプロゲートやドットインストールでプログラミングの勉強をし、IT企業に転職した者です。
IT企業に転職してから、最初は指示通りにボタンを押すだけのテスターでしたが、運良くバックエンド開発に携わらせていただき、色々な言語を経験してきました。
主にRubyやjavascript, python, Rで開発してきました。
今考えると、プログラミングの本質はまとめるということだったと思います。
例えば、私はプログラミング初心者の頃、下記のようなまとめられていないコードを書いていました。
DisplayGraph1 = functon() {
data1 = originData1
data2 = originData2
data3 = data1 + data2
return(data3)
}
DisplayGraph2 = functon() {
data1 = originData1
data2 = originData2
data3 = data1 + data2
data4 = data3 + originDaya4
return(data4)
}
理由は、単純に上から読んでいけば処理の内容が分かるからです。しかし、プログラミングには同じようなコードを繰り返し書くべきではないというルールがある為、処理を上から順に読めなくなりますが処理を関数にまとめる必要があります。
上記コードをまとめると下記になります。
SummaryFunction = function() {
data1 = originData1
data2 = originData2
data3 = data1 + data2
return(data3)
}
DisplayGraph1 = functon() {
return(SummaryFunction())
}
DisplayGraph2 = functon() {
data3 = SummaryFunction()
data4 = data3 + originDaya4
return(data4)
}
SummaryFunction関数に、同様の処理をまとめることで、記載するコードの行数を少なくすることができる、また、テストがしやすいコードになります。
記載するコードが少なくなるということは、今後バグが発生した時にコードの修正が容易になるということです。