私が取り組んでいるプロジェクトは、必死にリファクタリングが必要です。問題は、通常、複数のブランチ(メンテナンス、新機能など)があり、ファイルやディレクトリを簡単に移動、名前変更、削除したり、変更をマージしたりできるかどうかわからないことです。私の恐れは、他の誰かが別のブランチのファイルを更新しているときに、リファクタリングブランチのファイルを移動することです。トランクにすべてがあり、ブランチが不要な小さなウィンドウを望んでいましたが、ビジネスには常に変更が必要です(すぐにまたはマイナーリリースの一部として)。
ソース管理はSubversionで管理されています。変更を他のブランチと同期させたまま、1つのブランチでプロジェクトを大幅に変更することは簡単/可能ですか?ブランチを最新の状態に保つために変更をマージするのはかなり得意であり、一度に小さなリファクタリングの変更を加えるだけでうまくいくかもしれません。そうでなければ、これは本当にリファクタリングのみに取り組む(つまり、他のブランチがない)時間を取っておくことによってのみ行うことができますか?私はビジネスオーナーにリファクタリングに時間が必要であることを納得させようとしてきましたが、彼らは同意しますが、今のところそれは不可能のようです。
リファクタリングに関する重要なことの1つは、(たまに1回だけでなく)常に実行する必要があるということです。これは実際のコード(関数の分割、重複コードの削除など)で実行できるように見えますが、ファイルの名前を適切に変更してグループ化することに自信がありません。