いつ読むか?

  • コードの是非を議論していて、話が仕様レベルと実装レベルで噛み合わなくなったとき
  • レビューで「この実装でいいのか」を判断する軸が欲しいとき
  • AI に設計を任せた結果、仕様は満たすのに違和感のあるコードが出てきたとき
  • 技術的負債の解消を他人に説明・提案する必要があるとき

読書メモ

目的 − 目標 − 手段をソフトウェア開発にマッピングした表 (スライド 20) が核心。

一般的な定義ソフトウェア開発
目的目指すべき状態、ねらい(顧客の) 要求
目標目的達成に必要な評価基準・条件機能要件、仕様、制約
手段目的達成に用いる方法・道具ソースコード

コードはあくまで手段。だから「仕様を満たしている」だけでは正しさの証明にならず、目的に照らして構造の一貫性を問える。変更容易性が高い構造とは、この 3 層が一貫している構造のこと。

議論が噛み合わないときは、相手と自分がどの層の話をしているかを切り分ける道具として使える。