アジャイルを使ってクリスマスまでに彼女を作る方法を考えてみる を踏まえ
結婚生活は生涯にわたるリファクタリング との声があった。良い指摘だとおもった。
ので、考えてみました。
結婚生活における不吉な匂い
それにはまず結婚生活の不吉な匂いを考えなければなりません。
不吉な臭いとは
深刻な問題、リファクタリングの必要が存在することを示す何らかの兆候、雰囲気を、臭いで比喩して表したもの。です。
各臭いに対する対応
新装版 リファクタリング に対応方針が載っているので、気になる人は是非読んでみましょう。
コードの不吉な臭いとは
- 重複したコード
- 長すぎるメソッド
- 巨大なクラス
- 長すぎるパラメータリスト
- 変更の偏り
- 変更の分散
- 特性の横恋慕
- データの群れ
- 基本データ型への執着
- Switch文
- パラレル継承
- 怠け者クラス
- 疑わしき一般化
- 一時的属性
- メッセージの連鎖
- 仲介人
- 不適切な関係
- クラスのインターフェース不一致
- 未熟なクラスライブラリ
- データクラス
- 相続拒否
変数のスコープ
踏まえると、まず スコープを小さくする ことが重要。
日々のいさかいや喧嘩は対象を絞り、影響度を最小限にすることが大事です。
単一ソースの原則
同じ情報を重複して持たない。 つまり、同じ、つまらないことは何度も言わない。
可読性を意識する
逆に、わかりやすく大事なことは声に出して言いましょう。感謝の気持ちとか。
ありがとう。ごちそうさま、等々。気持ちの可読性を意識しましょう。
結婚生活における依存度
不吉な匂いを考えると重要なポイントは、「責務」の切り分け、「関係」の度合いであることがわかります。つまり結婚生活も 疎結合と密結合のバランス が重要な要素であることが考えられるのではないでしょうか。
一般にプログラムは疎結合である方が汎用性やメンテナンス性に優れるが、
結合度を高めすぎると、1つのファイルが肥大しすぎたり密結合により汎用性やメンテナンス性を損なってしまうが、不必要で過剰な疎結合もまたメリットよりコストが大きくなってしまうというデメリットがある。
結婚生活も互いに、適切に、疎であるほうが、汎用性や保守性が維持できる期待があります。何がベストかはケースバイケースで正解のない課題ではあります。適切なバランスでまとめることを意識していきましょう!