5章コードベースの過去の幽霊

私は過去、現在、未来の教えの中に生きます。

この三人の幽霊さま方は、私の心の中で私をはげましてくださいます。

お三方から教えいただきましたことに閉め出しなどわせません。

――チャールズ・ディケンズ

『クリスマス・キャロル』†1

[†1] 訳注:村岡花子 訳『クリスマス・キャロル』より。

過ぎ去った古きよき時代は、かつてのままではありません。あなたの古いコードも同じです。活動的なグレムリン†2とタイピングの悪魔が過去のコードに何を潜ませているかなんて誰が分かるでしょうか。それを書いたときには完璧だと思いました。しかし、自分の古いコードを批判的な視点で見れば、あらゆる種類のコードの問題が自ずと明らかになります。

[†2] 訳注:想像上の小悪魔。

プログラマは、人間として前進しようと努めます。私達は、新たな興奮する技法を学んだり、新たな挑戦へ向き合ったり、興味深い問題を解決したりすることが好きです。それは自然なことです。短期間で転職していってしまうこととプログラミング契約期間の平均的な長さを考慮すれば、長い期間、同じコードベースを扱い続けるソフトウェア開発者はごくわずかです。

そのことが、私達が生み出すコードに対してどのように影響するのでしょうか。私達の仕事にどのような種類の態度を育むのでしょうか。ひときわ優れたプログラマ達を決定付けるのは、実際のコードそのものではなく、彼らが書くコードとコードの書き方に対する彼らの態度だというのが私の主張です。

平均的なプログラマ達は、自身のコードを長い期間に渡って保守することはありません。自分達のごみの中で悪戦苦闘するよりは、新たな職場に移って誰か他の人のごみの中で悪戦苦闘する方を選びます。私達は興味が変わる際に、可愛がってきた「ペットプロジェクト」を途中で捨てていくのです。 ...

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.