今まで言葉にしたことはなかったんですが、考えてみたら自分の中のルールがあったので回答します。一意見として参考になれば幸いです。
個人的には以下の理由から消します。
-
未来の自分を信用していない
実際そのコードを使う、となったときに未来の自分がそのコードの内容をよく覚えているとは限りません。
よく覚えていなくても、書いてあるからこのまま使っていいんだなと思ってしまうかもしれません。(もしくは他人がそのまま使ってしまうかもしれません。)
ですが、そのコードが想定している仕様と未来の仕様は異なっている可能性もあり、そのコードの使用により問題が発生する可能性があります。
「使うことになったら必ずメンテする」という約束事を決めておく手段もありますが、経験上やめた方がいいです。約束事は少ない方がいいですし、合ってるか合ってないか分からないコードをメンテすることほど苦痛なことはありません。
「仕様変更のたびにメンテする」という手段もありますが、結局使わなかったらただの時間の無駄です。
-
gitに残る
コードを消したとしても、gitのログには残り続けます。
もし存在を覚えていれば、過去のコミットから探してそのコードを参考にできます。
もし存在を忘れていたとしたら、そんな知らないコードは使わずに一から実装した方がいいです。
長々と書きましたが、正直gitなどに残らないようだったらそのまま残してしまうかもしれません。
[追記]
概念的には存在を規定していて矛盾はないが、たしかに今この瞬間使われていない状態です。
すみませんこの部分を読まずに回答していました。概念的には存在を規定していて矛盾はない
の意味を理解できていないので、もしかしたら想定と違うシチュエーションの回答だったかもしれません。