czy są jakieś nieodłączne problemy lub względy związane z podniesieniem biletu z tyłu recenzji, zamiast go zawieść?
Nie z natury. Na przykład implementacja bieżącej zmiany mogła odkryć problem, który już istniał, ale do tej pory nie był znany / widoczny. Niepowodzenie biletu byłoby niesprawiedliwe, ponieważ zawiedziesz go za coś niezwiązanego z faktycznie opisanym zadaniem.
w recenzji odkrywamy funkcję
Jednak przypuszczam, że ta funkcja została dodana przez obecną zmianę. W takim przypadku bilet powinien się nie powieść, ponieważ kod nie przeszedł testu węchu.
Gdzie narysujesz linię, jeśli nie w miejscu, w którym już ją narysowałeś? Najwyraźniej nie uważasz, że ten kod jest wystarczająco czysty, aby pozostać w bazie kodu w jego obecnej formie; dlaczego więc miałbyś rozważyć podanie biletu?
Niepowodzenie przeglądu kodu, aby bilet nie zamykał się w tym sprincie, i odbieramy trochę morale, ponieważ nie możemy przekazać biletu.
Wydaje mi się, że pośrednio argumentujesz, że próbujesz dać temu biletowi przepustkę, by zwiększyć morale zespołu, a nie jakość bazy kodowej.
Jeśli tak, to masz różne priorytety. Standard czystego kodu nie powinien być zmieniany tylko dlatego, że sprawia, że zespół jest szczęśliwszy. Poprawność i czystość kodu nie zależy od nastroju zespołu.
Refaktor to niewielki kawałek pracy, który zostałby wykonany w następnym sprincie (lub nawet przed jego rozpoczęciem) jako mała, półpunktowa historia.
Jeśli implementacja oryginalnego biletu spowodowała zapach kodu, należy go rozwiązać w oryginalnym bilecie. Powinieneś tworzyć nowy bilet tylko wtedy, gdy zapach kodu nie może być bezpośrednio przypisany do oryginalnego biletu (na przykład scenariusz „słomy, która złamała grzbiet wielbłąda”).
Zasoby, które mogę znaleźć i przeczytać szczegółowe recenzje kodu jako 100% lub nic, zwykle, ale uważam, że to zwykle nie jest realistyczne.
Pass / fail jest z natury stanem binarnym , który z natury jest wszystkim lub niczym.
Myślę, że to, o czym tu mówisz, polega na tym, że interpretujesz recenzje kodu jako wymagające doskonałego kodu lub w inny sposób go nie udaje, i tak nie jest.
Kod nie powinien być nieskazitelny, powinien po prostu odpowiadać rozsądnemu standardowi czystości stosowanemu przez Twój zespół / firmę. Przestrzeganie tego standardu jest wyborem binarnym: przestrzega (przechodzi) lub nie (kończy się niepowodzeniem).
Na podstawie opisu problemu jasne jest, że nie sądzisz, że jest on zgodny z oczekiwanym standardem kodu, a zatem nie należy go przekazywać z ukrytych powodów, takich jak morale zespołu.
W przeciwnym razie zadanie pasuje do definicji gotowego.
Gdyby „wykonał zadanie” był najlepszym punktem odniesienia dla jakości kodu, nie musielibyśmy na początku wymyślać zasady czystego kodu i dobrych praktyk - kompilator i testy jednostkowe byłyby już naszym zautomatyzowanym procesem przeglądu i nie potrzebujesz recenzji kodu ani argumentów stylu.