📖
【備忘録】プリンシプルオブプログラミングの感想
はじめに
私がエンジニアになり、2022 年 10 月で 2 年経過しました。
初学者の時よりも 読みやすい/メンテしやすいコード を書けるようになりましたが、
もっと 良いコード を書くことができるよう、「プリンシプルオブプログラミング」 を社内図書館で読みました。
個人的に大事だと感じた内容を備忘録として残します。
こんな人に本書がおすすめ
- もっと読みやすいコードを書けるようになりたい。
- 良いコードを書きたいけど、何をしたらいいか悩んでいる人
1. コードこそが設計書
上流が「基本設計」から「詳細設計」「プログラミング」「テスト」「デバック」までが設計であり、
そのアウトプットがそのアプリの設計書である「コード」である。
-> コードが設計ならコードをなるべく早く書き始めて、不明確な部分を明確化する
2. コードは修正されるもの
1 回きりの「作り捨て」ではない。必ず変更される。
-> 定数を使い、変更に強いコードを書く
3. コードに余計なことをしない
- 頭の良さや知識アピールするものではない。
- 将来に備えておくのではなく、今必要な分だけ書く。
- 勝手に判断して要件を追加しない。
-> 動作させるために、もっともシンプルなものなのかを考える
4. コードのコピペ厳禁
コピペにより同じロジックが複数個所存在し、改善作業が難しく大変になる。
-> 処理のまとまりに名前を付けて「関数化」「モジュール化」を行い、重複を減らす。
5. レガシーコードを残さない
テストがないコードをレガシーコードと呼ぶ。
-> どんな方法でもいいからテストを用意する。
6. コードは読みやすさが最優先
なぜなら、「書く」<「読む」回数が多い。
読みやすいコードなら「実行の効率」などの改善が容易である
-> 処理速度よりも読みやすいコードかどうかを意識してレビューやコーディングをする。
7. why のコメントを書く
コードは「何をしているのか」「どのようにやっているのか」までしか表現できない。
-> 「なぜそれをしているのか」をコメントで書く。
おわりに
本書では 101 の原理原則ありましたが、
後半部分が同じような意味の言い回しが増えた印象がありました。
特に印象的だった内容が前半に多かったです。
Discussion