Sprawdzanie jakości kodu
Jakość kodu nie powinna być mierzona przez opinie osobiste. Deweloper piszący kod oceniałby swój własny kod wysoko, ale nie jest to niezawodny sposób mierzenia jakości kodu. Różne zespoły mogą używać różnych definicji w zależności od tego, co budują.
Kod, który jest uważany za wysokiej jakości, może oznaczać jedną rzecz dla dewelopera oprogramowania samochodowego i coś innego dla dewelopera aplikacji internetowych.
Jakość kodu jest ważna, ponieważ wpływa na ogólną jakość oprogramowania.
Badanie "Software Defect Origins and Removal Methods" wykazało, że indywidualni programiści znajdują mniej niż 50% błędów we własnym oprogramowaniu. Większość formularzy testowania znajduje tylko 35% błędów. Utrudnia to określenie jakości.
Istnieje pięć kluczowych cech mierzenia kodu o wyższej jakości:
Niezawodność
Niezawodność mierzy, jak prawdopodobne jest uruchomienie systemu bez awarii w określonym przedziale czasu. Odnosi się on do liczby wad i dostępności oprogramowania. Możesz zmierzyć kilka wad, uruchamiając narzędzie do analizy statycznej.
Dostępność oprogramowania można zmierzyć przy użyciu średniego czasu między awariami (MTBF).
Niskie liczby wad mają kluczowe znaczenie dla tworzenia niezawodnego kodu.
Możliwość konserwacji
Miary łatwość konserwacji oprogramowania. Odnosi się on do rozmiaru, spójności, struktury i złożoności kodu. Upewnienie się, że kod źródłowy można zachować, opiera się na kilku czynnikach, takich jak możliwość testowania i czytelność.
Nie można użyć jednej metryki, aby zapewnić łatwość konserwacji.
Niektóre metryki, które można rozważyć, aby zwiększyć łatwość utrzymania, to liczba ostrzeżeń dotyczących stylu i miar złożoności Halstead.
Zarówno automatyzacja, jak i recenzenci człowieka są ważne w przypadku opracowywania kodu możliwego do utrzymania.
Możliwość testowania
Testowanie mierzy, jak dobrze oprogramowanie obsługuje testowanie. Zależy to od tego, jak dobrze można kontrolować, obserwować, izolować i automatyzować testowanie między innymi.
Możliwość testowania można mierzyć na podstawie liczby przypadków testowych, które należy znaleźć w systemie.
Rozmiar i złożoność oprogramowania mogą mieć wpływ na możliwość testowania.
Dlatego stosowanie metod na poziomie kodu , takich jak złożoność cyklotyczna, może pomóc w poprawie możliwości testowania składnika.
Możliwość obsługi
Przenośność mierzy, jak można używać tego samego oprogramowania w różnych środowiskach. Odnosi się to do niezależności platformy.
Nie istnieje określona miara przenośności. Istnieje jednak kilka sposobów zapewnienia przenośnego kodu.
Ważne jest regularne testowanie kodu na różnych platformach, a nie oczekiwanie na zakończenie programowania.
Warto również ustawić poziomy ostrzeżeń kompilatora tak wysokie, jak to możliwe i użyć co najmniej dwóch kompilatorów.
Przestrzeganie standardu kodowania pomaga również w przenośności.
Możliwość ponownego zastosowania
Możliwość ponownego użycia mierzy, czy istniejące zasoby — takie jak kod — mogą być ponownie używane.
Zasoby są łatwiejsze do ponownego użycia, jeśli mają cechy modułowe lub luźne sprzężenia.
Liczba współzależności może mierzyć ponowne wykorzystanie.
Uruchomienie analizatora statycznego może pomóc w zidentyfikowaniu tych współzależności.