У нашій системі відстеження помилок є поля "пріоритет" та "серйозність". Ми визначаємо суворість як "як це впливає на користувача", а пріоритет - як "як це впливає на продукт".
Моє запитання полягає в тому, як класифікувати завдання "поліпшення коду" за ступенем суворості та пріоритетності. Припустимо, що поліпшення не змінює жодної поведінки, але робить його "кращим кодом". Ми очікуємо, що загальне поліпшення технічного обслуговування в цілому, але його важко оцінити.
Коли ми використовуємо наші визначення для пріоритетності та суворості, поліпшення коду отримує найнижчі значення для обох, якщо ви не введете важко передбачити довгострокові вигоди на малюнку. Отже, це означає, що поліпшення коду - це вигадливе завдання, і його ніколи не слід робити.
Однак я вважаю, що дуже важливо постійно вдосконалювати та переробляти код, оскільки:
- Розробка програмного забезпечення сама по собі є безперервним навчальним процесом, і без покращення коду ви не можете покращитись.
- Команда повинна пишатися своїм кодом.
- Подальше обслуговування потребуватиме менше часу, і в довгостроковій перспективі економія буде значною.
Або ви вважаєте, що таких завдань ніколи не слід створювати, і такі вдосконалення виконуються лише "на вимогу", "коли вони пов'язані з помилкою"? Навіть якщо це пов’язано з помилкою, чи не буде це питанням дискусії в огляді коду, наприклад, "чому ви зробили цю кардинальну зміну структури?".