Чи є якісь властиві проблеми чи міркування щодо підняття квитка з задньої частини огляду, замість того, щоб його не дати?
Не по суті. Наприклад, реалізація поточної зміни, можливо, виявила проблему, яка вже існувала, але досі не була відома / очевидна. Позбавлення квитка було б несправедливим, оскільки ви його відмовите за щось, не пов’язане з фактично описаною задачею.
в огляді ми виявляємо функцію
Однак я припускаю, що функція тут - це те, що було додано поточною зміною. У цьому випадку квиток повинен бути невдалим, оскільки код не пройшов перевірку запаху.
Де ви намалювали б лінію, як не там, де ви її вже намалювали? Ви, очевидно, не вважаєте, що цей код є достатньо чистим, щоб залишатися в кодовій базі в його теперішньому вигляді; то чому б ви тоді розглядали питання про надання квитка?
Не вдалося перевірити код, щоб квиток не закрився в цьому спринті, і ми трохи вдарилися по моралі, тому що ми не можемо пропустити квиток.
Мені здається, що ви опосередковано стверджуєте, що намагаєтесь дати цьому квитку пропуск, щоб принести користь моральній команді, а не на користь якості кодової бази.
Якщо це так, то ваші пріоритети змішані. Стандарт чистого коду не повинен змінюватися просто тому, що це робить команду щасливішою. Правильність та чистота коду не залежать від настрою команди.
Рефактор - це невеликий твір, який можна було б виконати в наступному спринті (або навіть перед тим, як він розпочнеться) як крихітна, напівточна історія.
Якщо реалізація оригінального квитка викликала запах коду, то його слід вирішити в оригінальному квитку. Вам слід створювати новий квиток лише у тому випадку, якщо запах коду не може бути безпосередньо віднесений до оригінального квитка (наприклад, сценарій "соломинка, яка зламала верблюда").
Ресурси, які я можу знайти, і зазвичай читають детальні огляди коду як 100% або нічого, але я вважаю, що це зазвичай не реально.
Пропуск / невдача - це по суті бінарний стан , який по суті є все або нічого.
Я думаю, що ви тут посилаєтесь, це те, що ви інтерпретуєте огляди коду як необхідний ідеальний код або інший його недолік, і це не так.
Код не повинен бути непорочним, він повинен просто відповідати розумному стандарту чистоти, який використовує ваша команда / компанія. Дотримання цього стандарту є двійковим вибором: він дотримується (проходить) або не (провалюється).
Виходячи з Вашого опису проблеми, зрозуміло, що Ви не вважаєте, що це дотримується очікуваного стандарту коду, і, отже, його не слід передавати з зовнішніх причин, таких як моральний дух команди.
Інакше завдання відповідає визначенню виконаного.
Якби "це робиться робота" було найкращим орієнтиром якості коду, тоді нам би не довелося вигадувати принцип чистого коду та належну практику - спочатку тестування компілятора та одиниці було б нашим автоматизованим процесом огляду і вам не знадобляться огляди коду чи аргументи стилю.