はじめに
プリンシプル オブ プログラミングに載っているプリンシプル、どれも大事ですが…この中から自分が特に大事にしている/しようと思っているものを5つピックアップしてみます。
(プリンシプル オブ プログラミング最終回でそれぞれの5つを持ち寄って、議論しようと思っています。)
academist-reading.connpass.com
自分が選ぶプリンシプル5
敬意を払う
- 載ってなかったですが…もっとも大事なので…。
- いろんなものに対して、常に敬意を払うようにしているつもりです。
- 無知、過去の体験や体調などから失礼な物言いをしちゃうことも多々ありますが…気を付けたいと思っています🙏
- ユーザや顧客、同僚、先輩、後輩、過去のコード、変更、依頼、ビジネス…他、ありとあらゆるもの。
コミュニケーション
- 3章 思想 〜プログラミングのイデオロギー〜 3.2 ① プログラミングセオリーを支える3つの価値① コミュニケーション
- コードは「コミュニケーションの場」「読む側の視点に」はリーダブルコードを読んで、ハッとさせられました。
- コミュニケーションの良好なコードは、理解しやすいことで改修し易かったり、誤解が少なく不具合が少なかったり…。
- 少人数のチームだとて、3ヶ月前の自分は他人だし、心がけておくといいことが多そうです。
名前重要
- 2章 原則 〜プログラミングのガイドライン〜 2.7 名前重要
- 「名前」は究極の要約だと思っています。
- 名付けができないものは…よくわからんもの、つまり…分析が甘いものだったりするわけで…近い内に変わる可能性が高かったり、ホントは違うものだったり…そういうことが起きやすいと思っています。
- 許容できる時間内に、いい名前をつけられるよう、あれこれいろんな角度から考えるようにしています。
PIE(Program Intently and Expressively)
- 2章 原則 〜プログラミングのガイドライン〜 2.4 PIE
- 「意図を表現してプログラミングせよ」
- コードはコミュニケーションだから、ちゃんと意図が伝わるようにしなくっちゃ…ですよね。
- 自分の意図を表現したいから、意図を誤解しにくいような工夫やら、いろんなパターンを使ったりもするし。
- 今の自分ができているとは思えないけど、いつも心には置いています。
テスト容易性
- 3章 思想 〜プログラミングのイデオロギー〜 3.27 アーキテクチャ非機能要件⑤テスト容易性
- 「テスト」が簡単にできて、繰り返せる環境ができて、変更や修正に対してものすごく自信が持てるようになりました…。
- ほかを壊したときにちゃんと気付けるという自信から、おかしなところはすぐに直してもいいし、作りの悪かったり、合わなくなったりするところがあればリファクタリングをしてもよいし…とても自由になれた気がします。
- …しかし、「テスト容易性」で選んだのあってるのかなw
おわりに
こうやって大事にしていることをあらためて書き出してみると面白いですね。 読書会の他のメンバーがどんなものをどんな思いで選ぶんでしょう?楽しみです。