Niektóre książki na temat metryk, które prawdopodobnie zawiera biblioteka uczelni, obejmują metryki oprogramowania oraz metryki i modele w inżynierii jakości oprogramowania . Te 2 powinny dać ci miejsce wyjściowe. W świecie przemysłowym bardzo niewiele firm w ogóle ma program pomiaru metrycznego.
Czy większość firm ma jakiś sposób, nie musi być eleganckim programem do mierzenia znaczących wskaźników?
Visual Studio zawiera narzędzia do analizy kodu, które mogą pomóc Ci zacząć. Większość firm nawet nie ma czegoś, co zmierzyłoby najgorszą możliwą miarę: linie kodu. „Po prostu załatw to” wydaje się być dominującą siłą napędową w branży, a obawy związane z utrzymaniem są bardzo krótko zwracane na obawy menedżerów dotyczące „czy dostanę mój bonus w tym roku?” i „czy to się stanie w czasie, gdy obiecałem?” Nawet w przypadku produktów, które przenoszą się z roku na rok z przyrostowymi zmianami, te 2 obawy rozwiały obawy deweloperów dotyczące konserwacji i wykrywania / zapobiegania błędom.
Które wskaźniki, pojedyncze lub połączone, pomagają zawęzić zakres projektów i szacunki?
Uważam, że złożoność cykliczna i sprzężenie są silnymi wskaźnikami tego, jak błędne lub jak trudne będzie utrzymanie kodu. Jeśli cykliczność złożoności wynosi około 20, stwierdzę, że prawie niemożliwe będzie przetestowanie (ponieważ będzie zawierać do 2 ^ 20 ścieżek w kodzie) i należy ją rozłożyć na mniejsze części. Nie można wyeliminować złożoności, ale można ją pokroić na łatwiejsze do zarządzania części.
Jeśli szukasz oszacowania , prawdopodobnie chcesz zbadać punkty funkcji .
% Pokrycia kodu drastycznie obniża każdą iterację, czy ostrzegasz programistów o problemie
Uważam, że większości menedżerów zależy na liczbie meldowań i liczbie naprawianych błędów. Mój obecny menedżer jest przeciwny testom jednostkowym (uważa, że to strata czasu), a mój poprzedni menedżer uważał, że czas poświęcony na testy jednostkowe był czasem, który powinien był poświęcić na napisanie go w pierwszej kolejności.
Argument kanoniczny używany przez programistów jest taki, że jeśli coś zmierzysz, to tylko to otrzymasz. Argument ten wynika z założenia, że jedyną miarą są linie kodu.