単純作業アレルギーの僕らが、プログラミングにハマる必然的な理由

これ毎回やるのめんどくさいなー
コスパ、タイパ、大切ですよね。YouTube にも再生速度を変える機能があるじゃないですか。自分の快適だと思う速度で見てしまいますよね。
何度も同じ事やるのもめんどくさいですよね。あ、違う。世の中には単純作業が好きな人と、単純作業が嫌いな人がいますね。僕は嫌いな人の部類なんですね。
単純作業が嫌い
単純作業が嫌い、飽きた、もうやりたくない、こういう人は、プログラミング向いてると思うのですよね。
「人間がやったら時間がかかることを機械にやらせて時間を短縮する」
これが、プログラミングの真髄かなと。8時間かけてやってた作業が10分で終わるようになったりします。空いた時間は他の仕事ができるようになるんですよ。評価も上がるに決まってるじゃないですか!(給料が上がるとは言ってない)
おなじこと
プログラミングにおいては、同じことを2回書いてはいけないと思うんです。いわゆる「DRY原則(Don’t Repeat Yourself)」ってやつですね。いや、僕は絶対書かない。まぁでも、「似てる処理だからまとめちゃえ」って何でもまとめると事故になることもあるんで、「何をまとめるか」ってのは経験とか知識とか感性も必要だとは思います。
ちなみにそういうプログラムコードを「コードクローン」と言います。
なんであかんの?
「同じことが2つ書いてある」っていう状態は、修正のときに「同じ様に2つ書き換えないといけない」ってことなんですよね。これ、単純な話にしてますけど、実際は3つあったり100こあったりします。はい、これは現場の現実の話です。
修正のときに修正漏れが発生します。あるいは、片方だけ直してもう片方を忘れたりします。あと、修正するときに「なんでこれ2つあるんやろう」って考えないといけなくなります。理由が書いてあればいいんですが、ただの重複コードに頭を悩ませるとか、なんか色々もったいなくないですか?
とにかく修正に時間がかかるんです!あぁめんどくさい!あぁ時間がもったいない!
あぁ、すっきり・・・してない?
めんどくさいことを解決するとめっちゃスッキリします。そして時間的にも気分的にも余裕ができます。すっごいレベルアップした気分になれます。
でもまた、空いた時間に「あ、ここも面倒になりそうだから対応したい。今すぐ対応したい・・・」ってなって、結局、自動化するためのコードを書くのに一番時間を使ってたりするんですよね。このループから抜け出せなくなるんです。
対応するのにもコストは掛かるんですよね。だからやり過ぎも良くない。「YAGNI」なんて言葉もありますしね。じゃぁ、どうすべきか?って話は、長くなりそうだからまた別の機会に書いてみようかな、と思ってます。