私は中小規模のレガシーコードベースで作業しており、チケットで作業しているときに、クリーンアップが必要なコードや、アプリケーションのフォローを理解するためだけにクリーンアップが必要なコードに遭遇します。
実際の例は次のとおりです。
if( !a && b ){
doSomething1();
doSomething2();
doSomething3();
doSomething4();
doSomething5();
}else if( a ){
doSomething1();
doSomething2();
doSomething3();
doSomething4();
doSomething5();
}else if( !b && ( a || c ) ){
doSomething1();
doSomething2();
doSomething3();
doSomething4();
doSomething5();
}
もう1つは、数十のソースファイルにわたってコメントとドキュメントのタイプミスとエングリッシュを修正することです。
しかし、多くの場合、このクリーンアップは主な問題とは無関係になり、クリーンアップをコミットするのがどのように最善かと思います。私の見方では、3つのオプションがあります。
- 修正前:これは発生順になっているため、年代順に機能しますが、何かが壊れると修正が複雑になり、修正を本番環境と比較することが難しくなります。また、ノイズである追加のコミットが導入されます。
- 修正あり:しかし、これにより、欠陥のあるコードを
findGeoragphy
が正しいファイルで実際に置き換えることができなくなりfindGeography
ます。 - 修正後:これには、コードを理解し、修正を再テストし、修正をコミットしてから、元に戻ってクリーンアップをやり直すために行った削除とクリーンアップが必要です。これにより、欠陥のあるコードとの最も明確な相違が可能になりますが、作業が重複し、偽のコミットにつながる可能性もあります。
tl; dr:では、クリーンアップコードをコミットする最良の方法は何ですか?
コンテキスト:ユニットテストはありません。変更を実行し、それらを目立たせ、壁を越えてQAに送信し、手動の回帰修正によって検証することにより、開発を進めます。また、フォームのクリーンアップを行わないと、コードがわかりにくくなります。これは理想からかけ離れていることは知っていますが、これは私の選択ではなく、私の食卓に食物を載せる実際のエンタープライズ開発者です。