Pomysł jest bardzo fajny. W przeciwieństwie do typowych przepływów pracy, przeglądasz bezpośrednio w kodzie, więc technicznie nie potrzebujesz niczego oprócz edytora tekstu, aby korzystać z tego przepływu pracy. Wsparcie w IDE jest również miłe, szczególnie możliwość wyświetlania listy recenzji na dole.
Działa dobrze w przypadku bardzo małych zespołów, ale większe zespoły będą wymagać śledzenia tego, co zostało sprawdzone, kiedy, przez kogo iz jakim rezultatem. Chociaż faktycznie masz tego rodzaju śledzenie (kontrola wersji pozwala o tym wszystkim wiedzieć), niezwykle trudno jest go używać i wyszukiwać, i często wymaga ręcznego lub półautomatycznego przeszukiwania wersji.
Nie wierzę, że recenzent ma wystarczającą ilość opinii od recenzenta, aby wiedzieć, jak faktycznie sprawdzono punkty .
Wyobraź sobie następującą sytuację. Alice po raz pierwszy sprawdza kod Erica. Zauważa, że Eric, młody programista, zastosował składnię, która nie jest najbardziej opisowa w faktycznie używanym języku programowania.
Alice sugeruje alternatywną składnię i przesyła kod z powrotem do Erica. Przepisuje kod przy użyciu tej alternatywnej składni, która jego zdaniem jest zrozumiała poprawnie, i usuwa odpowiedni // BLA
komentarz.
W następnym tygodniu otrzyma kod do drugiej recenzji. Czy byłaby w stanie pamiętać, że wypowiedziała tę uwagę podczas swojej pierwszej recenzji, aby zobaczyć, jak Eric ją rozwiązał?
W bardziej formalnym procesie recenzji Alice natychmiast zauważyła, że zrobiła uwagę, i zobaczyła różnicę w odpowiednim kodzie, aby zauważyć, że Eric źle zrozumiał składnię, o której mu powiedziała.
Ludzie wciąż są ludźmi. Jestem prawie pewien, że niektóre z tych komentarzy znajdą się w kodzie produkcyjnym, a niektóre pozostaną śmieciami, będąc całkowicie nieaktualnymi .
Oczywiście ten sam problem istnieje w przypadku każdego innego komentarza; na przykład w produkcji jest wiele komentarzy TODO (w tym najbardziej przydatny: „TODO: Skomentuj poniższy kod.”) i wiele komentarzy, które nie zostały zaktualizowane, gdy odpowiedni kod był.
Na przykład oryginalny autor kodu lub recenzent może odejść, a nowy programista nie zrozumie, co mówi opinia, więc komentarz pozostanie na zawsze, oczekując, że ktoś będzie zbyt odważny, aby go usunąć lub faktycznie zrozumieć to mówi.
To nie zastępuje recenzję twarzą w twarz (ale ten sam problem dotyczy również innych bardziej formalnego przeglądu, który nie odbywa się twarzą w twarz).
Zwłaszcza jeśli oryginalna recenzja wymaga wyjaśnień, recenzent i recenzent rozpoczną rodzaj dyskusji . Nie tylko znajdziesz duże komentarze BLA, ale te dyskusje również zanieczyszczą dziennik kontroli wersji .
Możesz również napotkać drobne problemy ze składnią (która istnieje również w przypadku komentarzy TODO). Na przykład, jeśli długi komentarz „// BLA” pojawi się w kilku wierszach, a ktoś zdecyduje się napisać go w ten sposób:
// BLA This is a very long comment which is way beyond 80 characters, so it actually
// fills more then one line. Since the next lines start with slashes, but not "BLA"
// keyword, the IDE may not be able to show those lines, and display only the first one.
I wreszcie jako drobna i bardzo osobista uwaga: nie wybieraj słowa „BLA” jako słowa kluczowego. Brzmi brzydko. ;)