丁寧に書かない練習

自分は丁寧に(大げさに)コードを書きすぎる傾向があって、それは premature-optimization であったり over-engineering であったりしてよくない。でもガっとでかい関数を書いたりクラスを定義せず tuple で済ませたりする脳の負荷が苦手で、大げさに書く方に逃げてしまう。結果として見通しの悪いコードができあがることが多々ある。

逆の傾向を持つ人もいるだろう。雑に書きすぎて、いわゆる「汚いコード」になってしまう。世の中的にはこっちが多いことになっているけれど、自分は大げさサイドなので正直そうなる人の気分はわからない。

そのバランスは最終的にはリファクタリングして正せばいい、というのはその通りなのだけれども、自分の傾向を把握して意識的に初期値を決めてやるのも自分のバイアスを治していく上では必要に思える。大げさに書く傾向のある人は意識的に雑に書き、逆もしかり。

あと使っている言語によって「望ましい大げささ」はかわるので、環境ごとに自分がどちらにバイアスされているのか気にするのも良さそう。たとえば Java は大げささが似合う言語で、Java に慣れた人は大げさに書きがち。でも Ruby なり Python なりで書くなら雑に書けないと損だよね、みたいに。

Code retreat はコードが雑になりがちという前提で丁寧に書く練習をする。たぶん anti-code-retreat みたいに雑なコードを書く練習というのもありうるのだろう。

意識的に大げさにしたり雑にしたりするのはナンセンスで、常に「正しい」バランスを心がければいい、みたいな主張もありうる。でも自分は無意識のバイアスが大きな力をもっており、ただ「心がける」だけではそのバイアスと戦えないと考えている。だから少し極端なやり方を試し、その体験から学ぶのがいいのではないかと思う。

というわけでさっき作った小さなクラスを消し、バリっとでかい関数に書きなおそう。