・優れたプログラマーの条件
人が読めるプログラムに関して、様々な書類でその重要性が述べられています。
コンパイラが理解できるコードは誰にでも書ける。すぐれたプログラマーは、人間にとってわかりやすいコードを書く。
――― マーチン・ファウラー 「リファクタリング」
ネーミングは設計の中心である。優れたネーミングはシステムの理解を助け、作業を容易にする。しかし、貧弱なネーミングはシステムの理解を妨げ、後でシステムを扱うプログラマーに辛い日々を送らせる。
――― マイケル・フェザーズ 「レガシーコード改善ガイド」
人が読めないプログラムとは、換言すれば「美しくないプログラム」だといえます。
初心者にとっては、プログラムを書いてデバッグし、動作させるだけで手一杯であり、何が美しく何がそうでないかを判断することさえ困難かもしれません。
それに、ソフトウェアの利用者にとっては、プログラムや設計の美しさはまったく関係ありませんし、実際にエンドユーザーがソースプログラムを見る事は皆無に近いです。
そうなんです。こだわる人はトコトンこだわります。でも、エンドユーザーには、理解されませんけどね。
そのため、プログラムは動作すればそれでよいと考えてしまう開発担当者やマネジャーが多いのも事実です。
しかし、ソフトウェアは何年も使用され続けますので、その間に新しい機能が追加されたり、バグが修正されたりします。
ソースを見れば、だいだい作成者の癖や、コダワリを知る事ができます。
その場合に、ソフトウェアを作成した開発担当者ではなく、他の開発担当者がプログラムを読む事があります。
そして、ほとんどの場合、きたなく理解しがたいプログラムを目の前にして、非常に苦労することになるのです。
この時に、このプログラムを組んだ人は、素晴らしい、とか、酷い汚い人だ、とかわかりますね。
では、また今度。