7章汚物の中で転げ回る
自分の吐いた物に戻ってくる犬のように、愚鈍な者は自分の愚かさを繰り返している。
――箴言 26:11
流砂のように一度入ったら抜け出すことができなくなる危険なコードに、私達全員が遭遇してきました。あなたは気づかずにそれに入り込み、そして、すぐに沈んでいく感覚を覚えます。コードは理解しにくく、順応性がなく、それを動かそうとするあらゆる努力に対して抵抗しています。努力すればするほど、深みにはまっていきます。デジタル時代の罠です。
それほど優れていないコードに対して、有能なプログラマはどのように取り組むでしょうか。がらくたに対処するための戦略は何でしょうか。
慌てず、防砂服を着て、入り込んでいきましょう。
前兆を嗅ぎ付ける
美術品や精巧な詩のような優れたコードがあります。それは読んだり取り扱ったりするのを楽しくする、はっきりとした構造、認識できるリズム、整った韻律、首尾一貫性、そして美しさを持っています。
しかし、残念ながら、いつもそうとは限りません。
コードによっては、めちゃくちゃで体系立っていません。あちらこちらへと制御を移すgotoは、コード内で類似している部分を分かりにくくします。コードによっては、読むのが困難です。下手なレイアウトといい加減な名前付けが原因です。むだに硬直した構造に囚われているコードもあります。始末に負えない結合度や貧弱な凝集度です。複製だらけのコードもあります。プロジェクトを必要以上に膨張させて複雑にし、一方で多数の同じバグをかくまっています。「オブジェクト指向の乱用」を行っているコードもあります。すべて間違った理由で継承し、結び付く必要がないコードの複数の部分を強く関連付けています。巣の中の悪質なカッコーのようにじっとしているコードもあります。たとえば、JavaScriptのスタイルで書かれたC#です。 ...
Get ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.