17. My Application Has No Structure - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)

Working Effectively With Legacy Codeの 17章 My Application Has No Structure。

マインドマップから再構成したまとめ

僕のアプリには構造なんてないよ

  • 構想を理解しないと
    • コードの追加が大変だよ
    • コスト高いよ
  • 構造を理解する方法
    • ストーリーを語る
      • システムの一番重要なことをシンプルに相手に説明する
      • 相手は前提知識がないことを想定する
      • 効果
      • 何が重要なのか?を考える良いきっかけになるよ
      • 迷ったときの指標になるよ
      • 抽象化しているのと同じだよ
    • CRC(Class Responsibility and Collaboration)
      • クラス名
      • 役割
      • コラボレータ(このクラスとコミュニケーションするもの)
      • Naked CRC を試そう
    • デザインについての会話を聞く
      • コードとデザインがずれていたら?
      • 「共有するコンセプトをコードに反映できていない」or 「チームが同じようにコンセプトを理解できていない」

所感

  • 他人に説明する効果は自分も体験したことある
  • 「重要なことは何か?を考えるきっかけになる」という考え方は好きだな