「美しいソースコードのための七箇条」

sourcecode.jpg
「美しいソースコードのための七箇条」というのを考えてみた。
# 取り敢えずの叩き台として。
美しいソースコードとは:
次の七つを満たしたソースコードである。

  1. 意図を表現:
    • 意図が表現されていること。
    • 意図の理解が容易であること。
    • 意図以外の記述が少ないこと。
    • How (どうやってやるか) でなく What (何をやるか) が記述されていること。
    • できれば、Why (なぜやるか) も記述されていること。

  2. 単一責務:
    • (型やメソッドや変数などの) プログラムの単位が唯一の仕事を記述していること。
    • 且つ、(なるべくなら) その仕事がそのプログラム単位内で記述されつくされていること (=高凝集: high cohesion)。

  3. 的確な名前:
    • (型やメソッドや変数の) 名前が、それの (唯一の) 仕事を (一言で必要十分に) 表現していること。
    • 同じものは同じ名前で、違うものは違う名前で表現されていること。
    • それであるものとそれでないものの区別が付くこと。

  4. Once And Only Once:
    • 同じ意図のものが重複して書かれていないこと。

  5. 的確に記述されたメソッド:
    • メソッド内が同じ抽象度の記述の集まりで構成されていること。
    • メソッド内が、自然な粒度で記述されていること (話し言葉のように)。
    • ほどよい量 (記述が多過ぎない)。

  6. ルールの統一:
    • 全体が同じルールに従っていること。

  7. Testable:
    • 正しい記述であることが分かるようになっていること。
    • 検証 (verification) が容易であること。


関連サイト: