コードは持つほど保守費がかかる負債なので、役目を終えたものは止める。止めにくさを見込み、作る段階から終わらせ方を考えておく。
目次
古いものは置いておくだけで高くつく
費用は書くときより、動かし続ける間の保守でかかる
- 古いほど手間が増え、知る人が減り、互換性の約束が足かせになる
- コード量あたりの機能を増やす方向で、要らないものは消す
- 後継と無期限に並走させるより、止めるほうが安いことが多い
止めにくさを見込んでおく
止める作業も安くないが、古いものの費用は続くので方向は変えない
- 利用者が多いほど想定外の使い方が混じる(Hyrum の法則)
- 新旧は1対1に対応せず、移行費用は見積もりより膨らみがち
- 参照が残っていないかの最終判断は全体のテストに任せる(§15.4)
作る段階で終わらせ方を考える
寿命の間ずっと面倒を見ると約束できないものは始めない
- 後継へ移りやすいか、少しずつ置き換えられる作りかを問う
警告は手を打てる場面に絞る
非推奨の警告は、多すぎれば読み流される
- 利用者が見て手を打てる内容に限る
- 手を打つその場面で表示する
関連
- ソフトウェアエンジニアリングとは何か — 持続可能性と、スケールしない移行のさせ方
- コードレビュー — 最良の修正がコードの削除であることもある
- ドキュメンテーション — 文書も役目を終えたら消す