LOC jest prawdopodobnie jednym z najbardziej nadużywanych wskaźników, w wyniku czego jest prawdopodobnie jedną z bardziej bezużytecznych miar jakości kodu i jeszcze bardziej bezużytecznym pomiarem wysiłku programistycznego.
Tak, to odważne stwierdzenie, które mogę wypowiedzieć, i nie, nie mogę skierować cię na studia potwierdzające mój punkt widzenia. Jednak z ciężkim doświadczeniem mogę stwierdzić, że kiedy zaczynasz się martwić ilością napisanego kodu, prawdopodobnie martwisz się niewłaściwymi problemami.
Najpierw musisz zadać sobie pytanie, co próbujesz zmierzyć lub udowodnić, i czy ten dowód jest po prostu poza zainteresowaniem, czy też może wspierać szerszą poprawę jakości i gdzie musisz użyć tych informacji, aby uzyskać wpis od swojego zespołu / zarząd, aby coś z tym zrobić.
Jedną z rzeczy, do których zwykle używam LOC, jest kontrola zdrowia psychicznego. Jeśli piszę dużo kodu, bardziej interesuje mnie LOC według metody lub LOC według klasy, a nie LOC. Pomiary te mogą być wskaźnikami, które należy poddać dalszemu refaktoryzacji, jeśli czujesz się trochę obsesyjnie na temat tego, jak dobrze powinien być uwzględniony Twój kod. Bardzo duże klasy mogą wymagać przekształcenia w kilka mniejszych klas, a długie wieloliniowe metody mogą wymagać podziału na kilka metod, inne klasy, a nawet mogą wskazywać na pewne powtórzenia, które można usunąć. Zauważ, że użyłem tam słowa „może” kilka razy.
W rzeczywistości LOC zapewnia tylko możliwy wskaźnik i nie ma prawdziwej gwarancji, że Twój kod może wymagać zmiany. Rzeczywistym pytaniem jest, czy kod zachowuje się zgodnie z wymaganiami i oczekiwaniami. Jeśli tak, to następne pytanie dotyczy tego, czy będziesz w stanie łatwo utrzymać kod i czy będziesz miał czas, czy teraz, czy w przyszłości, aby wprowadzić zmiany w działającym kodzie, aby zmniejszyć koszty utrzymania w przyszłości.
Często dużo kodu oznacza, że będziesz musiał później zachować więcej, ale czasami nawet dobrze skonstruowany kod może rozciągać się na setki linii kodu, i tak, czasami możesz napisać setki linii kodu dziennie. Doświadczenie mówi mi jednak, że jeśli codziennie otrzymuję setki wierszy nowego kodu, często istnieje ryzyko, że znaczna część kodu została niewłaściwie wycięta i wklejona gdzie indziej, a to samo w sobie może wskazywać na problemy z powielanie i konserwacja, ale znowu nie jest to gwarancją, więc zwykle polegam na tym, co mówią moje doświadczenia i instynkty w oparciu o to, jak zrealizowano zadania.
Najlepszym sposobem na uniknięcie dylematu postawionego w pytaniu IMHO jest zapomnienie o LOC i refaktoryzacja CAŁEGO czasu. Najpierw napisz test kodu, zaimplementuj, aby zakończyć się niepowodzeniem, przeprowadź refaktoryzację, a następnie sprawdź, co można tam refaktoryzować, a następnie popraw kod. Opuścisz zadanie wiedząc, że już dwukrotnie sprawdziłeś swoją pracę, i nie będziesz się tak przejmował zgadywaniem siebie w przyszłości. Realistycznie rzecz biorąc, jeśli zastosujesz podejście testowe zgodnie z tym, co opisałem, każdy pomiar LOC / dzień na ukończonym kodzie naprawdę oznacza, że napisałeś 3-5 razy zmierzoną ilość, a wysiłek ten został skutecznie ukryty przez ciągłe refaktoryzowanie starania.