既にある、という理由で既にあるコードを信じないほうがいい

息の長いプロダクトのコードを見ていると、「なぜか本番にリリースされていない機能」とか「誰もしらない機能」のコードを見つけることがある。 開発途中で機能が不要になったり、一度リリースした機能を潰したり、といった事情は色々あるがとにかくこのようなコードはたまに見つかる。 さらに退職などの理由でこのようなコードについての背景が誰にもわからなくなっていることもある。

そして、その機能がやはり欲しくなったり、コードを部分的に流用したい、といった場合に、このコードをそのまま使いたくなることがある。

この時、このコードを「既にあるから」という理由で信用したくなる時がある。 これはググったら出てきたコードをよくわからないままコピペしたくなる感覚と似ている気がする。 しかし、コピペはNG、という価値観を持っていても既にあるコードはOK、と判断してしまうことがある気がしている。

「既にあるから」という理由でそのコードを信じてはいけない。 コードの背景がわからないということは、そのコードの品質が担保されているのかわからない、ということである。

品質はテストや本番での動作実績に担保されるが、「既にあること」は品質を担保しない。 プロダクトの品質を担保する基準があるのであれば、「既にあるコード」を利用する場合もそのコードが基準を満たしているか確認する必要がある。 満たしていないのであればテストを追加するなどして、基準を満たす必要がある。 ただし、基準を満たしていて工数の削減につながるのであれば、コードの流用はどんどんするべきだと思う。