ワークフロー、現在のタスクにないものの編集


12

通常、プログラムを作成するときは、明確なタスクが先にありますが、迷惑なものを見つけて、進行中にクリーンアップしたいと思います。

ここには3つのオプションがあります。

  • 後で実行します(チケットを追加するのを忘れたり、時間を費やす必要がある場合があります)
  • 今すぐ実行し、現在の作業と一緒にコミットします(不明)
  • 今すぐ実行し、個別にコミットします(それを見つける必要があり、間違いを犯し、意図せずにオプション2に進む可能性があります)

これはおそらくかなり基本的なことですが、svn / git / otherを使用してこれを回避する方法は何ですか?



私は通常、2番目のオプションを選択します。しかし、多くのリファクタリングを行った場合、2つの別個のコミットを行います。私の特定のタスクとちょうど私が「リファクタリング」とラベルを別の1 rebaseの代わりにmerge
Alternatex

回答:


7

個人的に、私はそれが依存すると思う:-)。

  • 以下のために小さな修正、後でそれを行うためのオーバーヘッドがそれだけの価値はないので、オプション3(今、別々にコミット)、最高です。その場合、別のコミットを作成するだけです。その方法は、使用するVCSによって異なりますが、別の質問です:-)。

  • もしそうであれば、より大きな修正は、あなたがチケットを作成します。そうしないと、メインタスクから絶えず脱線するリスクがあります(「ああ、見て、リファクタリングのもう1つの機会、ああ、もう1つ、そしてそこに、そしてそこに...」)。


あなたの最初の弾丸、小さな修正のために、すぐに編集をコミットすることは最良のオプションのようです。どうしてそんなことを考えなかったのかわからない、悪い習慣だと思う。私は、コード管理の部分とは対照的に、プログラミングのコーディングの部分に少し入り込む傾向があります:)
Nattfrosten

@Nattfrosten:はい、それは自然なことであり、悪くはありません。結局のところ、焦点は通常、コーディングにあるはずです。コード管理は、コーディングを簡単にするためだけのものではありません。
sleske

5

このことを考慮。「面倒なことを見つけて(...)クリーンアップする」とエグゼクティブの決定を下すと、優先順位の議論と決定からチームの残りの部分を削除することになります。あなたのコードとの特権的な関係のために、あなたはあなたのアジェンダを他の誰よりも勝たせいます。いいとは思いません。経験から、チーム/株主のresみにもつながります。

代わりに、クリーンアップ/リファクタリング用の課題/タスクを作成します。それはあなたの心に新鮮ですが、それが重要である理由を挙げてください:安定性の向上、保守の容易さ、そのようなことの推定値。チームの作業方法に応じた労力の見積もりを含めることもできます。次に、次のタスクの選択/割り当て/優先度の会議で、リファクタリングタスクを提示し、他のタスクに対して配置します。チームとして、いつ完了するべきかを決定します。

原則の名の下に良識を捨てるように言っているとは思わないでください。頭を使え。編集中の関数にsomethingい点がある場合、それは新しいリファクタリングタスクではありません。それを修正し、すべてをチェックインします。作業しているプロパティの名前をより賢明なものに変更すると、いくつかの余分なソースファイルに影響する場合、それは新しいリファクタリングタスクではありません。あなたは(ミッチが、私はその男嫌い)あなたが編集していない機能で何かをした方法のように別の開発者がない、それを修正し、一方で、。もしですべてをチェックして、機能が正常に動作しているように見えると述べましたとりあえずそのままにしておきます。リファクタリングタスクを作成し、チームにケースを提示します。

チームによってリファクタリングが常に新しい機能を支持するよう支持されている場合は、別の仕事を探し始めてください。すでに仕事を持っている場合、仕事を見つけるのは簡単です。


1
この返事に感謝します。これまで私はほとんどソロプロジェクトに携わってきたので、そこから私のスペシャリストが生まれました。後でチームにフィットするように多くの習慣を変更する必要がありますが、この種のことは私が必要としていたものです。
Nattfrosten

同じ結論ですが、多くの場合、リファクタリングではなく新機能を採用することに決めたのはボスです:-|
マークハード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.