ken1flanのブログ

自己紹介・最近やってることなどを書くつもりです。

プリンシプル オブ プログラミング 第3章のメモ(1)

www.shuwasystem.co.jp

プリンシプル オブ プログラミング読書メモです。

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

3.1 プログラミングセオリー

  • プログラミングを導く価値観
  • 最高のコード とは…前提として「要件を満たす」…当たり前過ぎて書いてなかったけど。
  • 最高の と言えるようになるためには、3つ
    • 拡張方法が多くある
    • 余分な要素がない
    • 読みやすく理解しやすい
  • 逆にしたら、触りたくないコードですね…。確かに価値と言ってよさそう…。
  • 今ある道具はなぜこの形をしているか?
    • ああ、いつも気にしています。
    • コードも読むときに背景を一生懸命探りながらやってるような…。

3.2 プログラミングセオリーを支える3つの価値① コミュニケーション

  • コードはコミュニケーションの場である
  • 前の章でも出てきてましたが、「コードは書くより読む時間のほうが長い」というのは、いい説明なので、ひとに頼むときに使おうと思います。
  • リーダブルコードを読んでから、「読む側の視点」をめっちゃ気にしています…。

3.3 プログラミングセオリーを支える3つの価値② シンプル

  • コードの複雑性は排除する
  • 「格闘した痕跡」…たしかに。
    • ちゃんとしないと残っちゃいますよね。
  • テストを書きながらキレイにすることにしてて…割といい感じです。
  • 余計なモノがない -> 理解しやすい …これは道理ですねw
    • スリードが一番キツイけど、そういうのも対象ですから…。

3.3 プログラミングセオリーを支える3つの価値③ 柔軟性

  • コードの変更が容易である
  • コードは必ず変更される…ここに書かれているもの以外に、「周囲の変化」があって…機能追加や不具合修正などがなくても、ネットワークでつながっている限り、なんらかの変更は絶対発生します…ね。(software designのなんかの記事で読みました。)
  • 拡張性を上げる構造は……3個目くらいから導入を考えます…。