Od dawna wierzyłem (i słyszałem od innych), że śledzenie statystyk zatwierdzania, takich jak liczba zatwierdzeń każdego programisty dziennie, jest szkodliwe dla procesu programowania. Powód wydaje się oczywisty - programiści dokonują mniejszych przyrostów, maksymalizując ich liczbę zatwierdzeń na dzień, ale utrudniając podział na dwa segmenty (być może wszystkie ich łatki pośrednie nie spowodują dobrego uformowania repo) i trudniej pracować z historią zatwierdzeń (zmiana nastąpi nagle w wielu zatwierdzeniach, zamiast w jednym, przywrócenie łatki jest trudniejsze itp.).
Czy są jakieś badania, które pokazują, że statystyki zatwierdzania są szkodliwe? Każdy elegancki i dobrze uzasadniony artykuł na ten temat? W równym stopniu dotyczy to tego, dlaczego pomiar niewłaściwej rzeczy prowadzi do optymalizowania niewłaściwej rzeczy, o czym jest to szczególny przypadek.
źródło
Odpowiedzi:
http://www.mit.edu/~hauser/Papers/Hauser-Katz%20Measure%2004-98.pdf
Czy tego szukasz? Istnieją tysiące artykułów „tylko dostajesz to, co mierzysz” znalezione przez Google.
źródło
Mierzenie statystyki jest zabawne, ale nie bardziej przydatne niż rejestrowanie liczby godzin, które programista przepracował w ciągu tygodnia.
Po pierwsze, nie bierze pod uwagę jakości kodu. Pewien programista może ciągle popełniać błędy, gdy wciąż naprawia błędy w swoim kodzie. To pokazuje dużą liczbę zatwierdzeń, w porównaniu do programisty, który zatwierdza jedną część gotowego, dopracowanego kodu. Nie pomyślałbyś, że facet z większą liczbą zatwierdzeń był lepszym programistą.
Podobnie, ktoś, kto zwalnia i surfuje SO przez cały dzień tylko po to, aby zatwierdzić raz dziennie, miałby taką samą liczbę zatwierdzeń, jak dedykowany programista, który spędził cały dzień na kodowaniu tylko po to, aby wykonać końcowe zatwierdzenie na koniec dnia, aby zachować swój kod.
Jeśli masz system, w którym liczone są wiersze kodu, facet, który przegląda pliki źródłowe „refaktoryzuje” każdy nawias klamrowy do swojego preferowanego stylu, będzie miał ogromną wartość. Facet, który dokonał ważnej poprawki 1-liniowej, ledwo się pojawi.
Więc nie tworzy żadnej znaczącej statystyki, nawet jeśli programiści nie grają w system. To powinno zapewnić ci tylko ładny wykres. Jednak wszyscy lubią statystyki, więc powiedziałbym, żeby je zachować, ale nie używaj ich do niczego innego niż do zabawy.
źródło