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