第3章 思想 〜プログラミングのイデオロギー〜
3.29 7つの設計原理
コード妥当性レビュー観点- 確かに、そうなりそう…。先を読んだらああってなるかも。
- コードレビューの指針のようなものを整備してるひといます?
- SQuBOK、初めて聞きました…。
3.30 7つの設計原理① 単純原理
シンプルにこだわる- 身に沁みてますね…。
- 経験を積んだプログラマ…?それはまだ全能感のある時期では…。自分はもう「なんもわからん」期に入っているかも。
- 読みやすいが一番…!
3.31 7つの設計原理② 同型原理
形にこだわる- そろっている中に変わった形があると、読まなくも気づけますしね。
- …でも、既存のコードの形が微妙なときってどうしたもんですかね><
3.32 7つの設計原理③ 対称原理
形の対称性にこだわる- メリットもよくわかります…!…が、面倒さが勝っちゃって…というときは結構ありました…。
- でも、Rubyを見てると、否定形のメソッドとかもセットになってて、真似しなくっちゃ…という気持ちになっています。
3.33 7つの設計原理④ 階層原理
階層にこだわる- railsのディレクトリ構造もその一種ですかね…?
- 階層を変な跨ぎ方をしない、というのも納得ですね。
- モデルから、コントローラのメソッドを呼ぶとか…コントローラからビューのメソッドを呼ぶとか💦
- …触るのが嫌で放置しているコードがあります💦
- モデルから、コントローラのメソッドを呼ぶとか…コントローラからビューのメソッドを呼ぶとか💦
3.34 7つの設計原理⑤ 線形原理
処理の流れは直線にこだわる- これ…めっちゃわかりますね。あっちゃこっちゃしない、は鉄則。
- 分岐をなるべくしません。テストを書くのが大変ですから。
- 特殊な処理を主処理に混ぜない…たしかによさそうです。
3.35 7つの設計原理⑥ 明証原理
ロジックの明証性にこだわる- なるほど、手段を選ばず明証性にこだわると、最終的に面倒になって、自然と明証的なロジックのコードを書くようになる…たしかに。
- わざと意味のない変数名を使うひとはいないと思いますが…名前をつけるのがうまくなかったり、改修によって意味が変わってしまったのにそのままだったり…というのはありそうです。
- 流用はちゃんとその部分を理解してから!
- 自分は流用はコピペせずにタイピングしなおしたりしてます。そうすると自然と読むんで…。
3.36 7つの設計原理⑦ 安全原理
安全性にこだわる- ifに必ずelse、caseに必ずdefaultを心がけてます。
- 単体テストはパラメータがnullのとき…は必ずやるようにしています。
- 安全サイドにコードを書く、は…例えばをちょっと思いつかないけど、気をつけてます!
- 要求や仕様では、〜以外のときが抜けがちなので、なるべく確認するようにしてますね…。