TL;DR

コード自体がドキュメントである、という主張。

なぜ必要か

Wikipedia によると、コードを読みやすく理解しやすくし、古いシステムの保守や拡張の手間を減らし、コメントやマニュアルへの依存を減らすことを目指す。

仕組み

名前と構造の規約に頼る。シンボルの意味を表す、人が読める名前(article.numberOfWords など)を付け、読み手がアルゴリズムを理解しやすい明快な構造にする。うまくいくかどうかは、命名の統一や一貫性にかかっている。

注意点

Jef Raskin は、なぜそのプログラムを書いているのかという理由はコードでは説明できないので、コメントは依然として必要だと批判した。

自分の理解

Clean Craftsmanship では、TDD の章でこの主張が繰り返し出てきた。一方、A Philosophy of Software Design はこれをやんわりと否定している(第12章 Why Write Comments? The Four Excuses)。

関連

出典