Mark Seemann『脳に収まるコードの書き方』

  • Code That Fits in Your Head
    • heuristics for software engineering

1章 アートかサイエンスか

  • ソフトウェア開発は建築のメタファーに縛られている
    • プログラムを曖昧なところなく詳細に書くという行為と、プログラミングという行為は一体である

      • ケブリン・ヘニー
    • ガーデニングの方が近い
      • 『実践テスト駆動開発』
      • 無秩序と戦う
    • 工芸品としてのソフトウェア
      • 徒弟制度に似ている
      • ソフトウェアエンジニアリングとほとんどの開発は別のスタイルで行われている
  • 科学的に確立された法則のセットというよりも、個人の経験という変わりやすいものかもしれない
    • The Leprechauns of Software Engineering
  • エンジニアリングとプログラミングには根本的な違いがある

3章 複雑さに対処する

  • コンピュータと脳には量的な違いがある
  • コードは書く回数より読む回数の方が多い
  • コンピュータサイエンスとエンジニアリングは違う
    • 物理学が機械工学ではないのと同じ

4章 バーティカルスライス

  • 計画が足りないことが悪いように、計画しすぎも悪い結果になる
  • 動くソフトウェアから始める
    • バーティカルスライス
    • 一番シンプルな機能をUIからデータストアまで全部実装する