Błędy w wierszu kodu
Błędy / LOC dotyczą tylko osoby. Dla firm, które wdrażają narzędzia do śledzenia błędów połączone z repozytorium kodu źródłowego. Menedżer może organizować problemy według programistów, posortowane według wcześniejszych problemów i zmian w kodzie.
Błędy są związane z Twoją pracą
Starszy programista, który jest bardzo doświadczony, wysoko wykwalifikowany, bardzo inteligentny i zdolny do samodzielnego wykonywania zadań, znacznie częściej rejestruje więcej błędów w systemie śledzenia, niż młodszy programista z niewielkim doświadczeniem.
Jak to możliwe?
Starsi programiści są często zaangażowani w zadania związane z rozwojem wyższego ryzyka. Refaktoryzacja kodu i budowanie nowych systemów jako przykład. Młodsi programiści często są przydzielani do rozwiązywania znanych problemów, które nie są warte czasu starszego programisty.
Dlatego przy przydzielaniu zadań młodszy nie wprowadza błędów, ale je naprawia, a starszy programista ma ryzyko ich wprowadzenia, ponieważ korzyści z tego, co próbują zarchiwizować, są ważniejsze niż drobne problemy, które są zgłaszane przy ich uzupełnianiu zadania
Ważna jest składnia języka
Argument, że język wprowadza mniej błędów, ponieważ może osiągnąć więcej przy mniejszej liczbie wierszy kodu, jest kompletnym mitem. Języki o wysokiej strukturze, takie jak C ++ / C # / Java, zmuszają programistę do wyraźnego wyrażenia na piśmie, jaka powinna być pożądana instrukcja, podczas gdy języki takie jak Python / PHP są bardzo nieustrukturyzowane. Te języki pozwalają na wyrażenia pisane, które nie tylko wprowadzą w błąd programistę, ale także parser języka.
Kompilator redukuje błędy
Ile błędów w Python / PHP dostało się na serwery produkcyjne, ponieważ nie było kompilatora ostrzegającego programistę, że coś jest nie tak. Kiedy mierzysz błędy na LOC, czy to przed, czy po kompilacji przetworzył kod źródłowy?
Aktualizacja 2019:
Kompilatory nie mają wpływu na naturę ani liczbę błędów. Błędy dotyczą wyłącznie osoby, która napisała kod źródłowy, a same błędy mogą mieć bardzo subiektywny charakter.