読者です 読者をやめる 読者になる 読者になる

「きれいなコードを書くこと」の弊害

ソフトウェア開発

 最近自覚してはっとしていることだけれど、命名規則を設ける・タブやスペースはK&Rスタイルで、などといったコーディング作法は、場合によっては人を傲慢にして成長を遅らせる作用があると感じる。
 というのも、まず適切なコーディング作法に従うのは、プログラミングの効率の下支えを行う点で有効だ。ただ、現実を見ると、適切と考えられているコーディング作法から逸脱するコードで溢れている。その原因は、単なる実力不足だけでなくて、レガシーコードを引き継いだり、デスマで追い詰められていたり、技術や環境の移行期で適切な作法が固まっていなかったり、といった事情がある。またコーディング作法というのは、適用範囲が大きい一方で、多少違反しても大きな問題になるわけではないので、それなりの量を書いていれば、違反部分も自然に作られると思う。

 コーディング作法に詳しくなると、溢れているだけに、そういった作法に従っていないコードも多数目につくようになる。そこで「レガシーコードを保守しているからしかたない」「デスマだから余裕がないんだな」といった背景を適切に理解するのなら問題ないが、「インデントがばらばらなので素人」「命名規則に従っていない。自分の方がすごい」といった自己愛的な判断をするようになると危険だ。前述のとおり、大抵のコードには作法にそぐわないコードが含まれているので、継続的に自己愛的な判断を繰り返していくと、「周りは素人ばかり」といった思考がうまれることもあるだろう。結果他人から学ぼうとする姿勢が薄れて、成長が鈍化してしまうという流れも十分あると思う。

 これはコーディング作業にかぎらず、例えば設計だったりドキュメンテーションだったりと色々な対象でも同じ事が言えると思う。ただコーディング作法は、学ぶのが簡単・違反がありふれている・違反を見つけるのはしばしば簡単、といった特徴があるので、特に注意が必要だと思う。