コードの大部分を変更する必要があることがわかったときは、それが間違っているか、他の理由で必要となる主要なアーキテクチャの変更に適応する必要があるため、これは私が通常行うことです:
- 変更が必要と思われるすべてのコードをコメント化します。コメントアウトされたコードは、TODOリストの一種として扱います。
- コメントアウトされたコードを徐々に確認し、このコードの一部のコメントを外すか、必要に応じてコピーアンドペーストして必要に応じて編集するか、このコードの一部を最初から書き直して、コメントアウトされたコードを参照します。コメントアウトされたコードの一部が完了したと思うたびに、それを削除します。
- コードがコメントアウトされなくなるまでこれを続けます。
私は主に、私が単独で開発している個人プロジェクトでこれを行っていることに注意する必要があります。
しかし、私はこれをやめるべきだと言われました。代わりに、コメントアウトされたコードを残すのではなく、古いコードを見るために古いコミットを参照してgitを使い始めるべきだと言われました。私が言われた:
コードをコメントアウトするのは悪い習慣であり、一掃する必要があります。経験がないため、それを理解できません。数年後に、コードをコメントアウトするのが好きな別の人のコードを見つけた場合、自分でこの人を非難するでしょう。コメントアウトされたコードを見るたびに、私はそれを見ずにその全体を削除します。通常、そのようなコードは完全に価値がないからです。小規模な個人プロジェクトでは、コードをコメントアウトすることのマイナス面を確実に見落とすでしょう。しかし、あなたが仕事を見つけて、この習慣をそこに保つならば、それは残念です。
私が今見逃していることの、私がやっていることのこれらの欠点は何ですか?
私は、過去のコードを見るためにgitを使用することだけに熱心ではないと言わなければなりません。私が言ったように、私はコードをコメントアウトすることを一種のtodoリストとして扱います。gitは、コードが以前どのように表示されていたかを示しますが、コードのどの部分がまだレビューが必要で、どの部分がすでに実行されているかを明確に示すことはできません。コードの一部を見逃し、バグを導入する恐れがあります。
完全を期すために、引用している人は経験豊富な開発者であり、ボブおじさんの「クリーンコード」のファンであると付け加えるべきだと思います。