W ramach Planu poprawy jakości oprogramowania niedawno zakodowaliśmy serię wąchania kodu w celu zintegrowania go z naszym procesem kompilacji.
Dużo budujemy, będąc aplikacją PHP, nie ma prawdziwej kompilacji, więc kompilacja jest tak naprawdę testem jednostkowym / analizą statyczną / programem uruchamiającym, i możemy sobie pozwolić na poświęcenie na to kilku cykli.
Mieliśmy pewne problemy z jakością kodu i trochę starszego kodu z wieloma problemami.
Zaczynając od tego, że jeśli nie powiedzie się zatwierdzenie, zostanie ono zignorowane, zaczęliśmy potwierdzać zatwierdzenia względem naszego „pożądanego” standardu kodowania, a niepowodzenie zatwierdza z błędami, które nie spełniają tego standardu.
Konserwacja została zatrzymana, nawet najprostsza poprawka do starszego komponentu wymagała od programisty sformatowania ogromnych ilości źródeł, a kompilacja była przerywana częściej niż nie. Nie trzeba dodawać, że zmieniliśmy błędy na ostrzeżenia, a teraz są one ignorowane i „w większości” bezcelowe.
Powiedziałbym to (wyciągnięte z trudnego doświadczenia).
Upewnij się, że standard bazy kodu jest wystarczająco zbliżony do standardu, który wymuszasz, aby nie wymagało od programisty natychmiastowego formatowania woluminów kodu. Lub .. Jesteś przygotowany i oczekujesz wzrostu wysiłku.
Będąc małym zespołem z ogromnymi wymaganiami dotyczącymi dostawy, nie było nas stać na zmianę zespołu na ogromną operację ponownego uwzględnienia czynników. Nasze standardy kodowania są obecnie obsługiwane głównie przez przegląd ręczny, a spuścizna jest przepisywana jako część planu ciągłego doskonalenia.
Kiedy powiedziałem, że ostrzeżenia są „przeważnie” bezcelowe, teraz używamy ich do rejestrowania statystyk, które pozwalają nam mierzyć KPI, które powinny wykazywać poprawę.
Kiedy ponownie wymuszymy wąchanie kodu, zaczniemy lekko i wprowadzamy kilka wąchań na raz, dopóki nie wprowadzimy standardu.