Tags
73 ページ目
Code-Detective
プラグインを1つ足すたびにコンストラクタとテストを全部直す。棚に登録する形にする【Registry】
ローカルでは通るテストが、CIでは全部赤。クラスの中のnewを外から渡す【Dependency Injection】
テストコードは触っていないのに、夜間テストが毎日数件ずつ赤くなる。依存を明示する【Service Locator】
initとconfigureの後でないとstartが動かない。半端な状態を作らせない【Builder】
'actve'、1文字のタイポで深夜に2時間。文字列と数値に名前と型を付ける【Magic Numbers / Strings】
「消すと壊れるかも」で残したコードが積もり、誰も触れない。根拠を持って消す【Dead Code / Lava Flow】
継承したのに使えないメソッドをdieで潰している。継承をやめて必要な能力だけ持つ【Refused Bequest】
メソッドチェーンを委譲で潰したら、転送するだけのクラスができた。仲介役を外す【Middle Man】
住所のカラム名を変えたら、触っていない配送料と税の計算が落ちた。鎖を断つ【Law of Demeter】
機能を足すたび無関係なテストが壊れる。他クラスのデータを触るメソッドを持ち主へ【Feature Envy】
注文はあるのに在庫が減っていない。毎週手で直す不整合を、変更を一括で確定して防ぐ【Unit of Work】
受注チェックを直すと集計テストが落ち、集計を直すと受注が落ちる。読み書きを分ける【CQRS】
監査で30日前の在庫を聞かれても、上書きした在庫数からは出せない。出来事を残す【Event Sourcing】
definedを1か所書き忘れ、深夜3時に通知が落ちた。何もしない実装を置く【Null Object】
DBが要るテストに30分、CIが毎回タイムアウトする。データアクセスを分ける【Repository】
1
2
3
4
5