フロントエンドでの「この画面が不要になった」、バックエンドでの「このAPIが不要になった」といったケースでの、不要になったコードの削除について、考えをまとめてみた。 なぜ削除するのか なぜ残っているのかという疑問が発生するのを防ぐため。 リファクタするときの邪魔にならないように。 全文検索で無駄にヒットするのを防ぐため。 ビルド、テストの時間を短縮するため。 総じて言えばメンテナンスコスト削減。 色々理由を挙げてみたなかで、疑問を防ぐことを1番目に持ってきた。この理由は、他の要素と違って我慢や努力で解決できないからだ。 会話例: 「icon_plus.png ってもう使ってない?」 「使ってなさそうだな。ファイル名で検索してもヒットしない」 「じゃぁなんで残ってるんだろう」 「tig -Sicon_plus してみたけど、このコミットでの削除漏れかなぁ。うーん、たぶん消して大丈夫でしょう」