バグ追跡システムには「優先度」フィールドと「重大度」フィールドがあります。重大度は「ユーザーへの影響」、優先度は「製品への影響」として定義します。
私の質問は、「コード改善」タスクを重大度と優先度に分類する方法についてです。改善によって動作が変更されることはなく、「より良いコード」になると仮定します。全体的な長期的なメンテナンスの改善が見込まれますが、定量化するのは困難です。
優先度と重大度の定義を使用すると、予測が困難な長期的な利点を図に導入しない限り、コードの改善により両方の値が最も低くなります。したがって、コードの改善は簡単な作業ではなく、決して試みるべきではないことを意味します。
ただし、コードを絶えず改善してリファクタリングすることは非常に重要だと思います。
- ソフトウェア開発自体は継続的な学習プロセスであり、コードを改善しなければ、それを上達させることはできません。
- チームはコードを誇りに思うべきです。
- 今後のメンテナンスにかかる時間は短くなり、長期的には大幅な節約になります。
または、そのようなタスクは決して作成されるべきではなく、そのような改善は「オンデマンド」でのみ、「バグに関連する場合」に実行されると思いますか?それがバグに関連しているとしても、それがコードレビューの議論ポイントではないでしょうか?例えば、「なぜあなたはこの構造の劇的な変更をしたのですか?」