Open3

[読書記録]プリンシプルオブプログラミング

うどんうどん

第1章 前提〜プログラミングの変わらぬ真実〜

  • コードこそが設計書
    • 輪読会で読んでる本で同じ話題が出てきた
    • 納得感ある
  • コードは必ず変更される
    • 変更に強いコードを書こう
うどんうどん

第2章 原則〜プログラミングのガイドライン〜

  • KISS
    • 余分なコードは書かない!
    • シンプルに書けるならそっちがいいよね
  • OCP
    • 拡張に対して開いている+修正に対して閉じている
    • もうこれが本質すぎる気がする
    • リファクタリングではあんまり意識できてなかった
    • コードにインターフェイスを用いる
      • あんまりしっくりこない
  • ループバックチェック(p86)
    • 音声操作機能にしちゃいそうだなと思った
    • 説明文にある単語をそのまま使えばいいわけじゃない
うどんうどん

第3章 思想〜プログラミングのイデオロギー〜

  • アスペクト志向プログラミング(p127)
    • 自動的に後から編み込むの意味がよくわからん
    • カードによる直接呼び出しを回避するという意味合い?
  • ポリシーと実装の分離(p132)
    • ポリシーはソフトウェアの前提に依存する(アプリケーション要件ってこと?)
    • 実装はソフトウェアの前提に依存しない独立したロジック部分
  • 7つの設計原則(p165)
    • コードレビュー時、実装時に使える
  • UNIX思想⑤(p196)
    • コードが複雑化してしまう原因
      • 技術を誇示しようとするプログラマの気持ち
      • 機能に対する外部からの要求
        • 機能を競うには機能を増やすしかないという誤った考え←辛い
  • UNIX思想⑩(p207)
    • 驚き最強の原則
      • あらゆる設計や命名のお作法はこれが大前提にある気がする
      • レガシーなシステムは驚きが最小ではないから触るのが辛い