Kilka dni temu pisałem a statycznej analizie kodu (Dwa słowa o statycznej analizie kodu). W praktyce taka analiza nie jest trudna o czym można się przekonać stosując bardziej zaawansowane narzędzia do projektowania i implementacji. Jednym z lepszszch narzędzi jest Rational Software Architect.
Środowisko Rational Software Architect zapewnia narzędzie od wykonywania statycznej analizy kodu aplikacji. Zwiększa ona jakość finalnego produktu poprzez znajdowanie oraz dokumentowanie wad oprogramowania. Udostępnia ono również ogólną ocenę jakości oprogramowania a co więcej umożliwia ono weryfikację założeń poczynionych na etapie projektowania i specyfikacji wymagań. Code Review Tool udostępnia także możliwość weryfikacji odpowiednich interakcji pomiędzy oprogramowaniem a komponentami systemowymi.
Celem prezentacji możliwości Rational Software Architect w zakresie statycznej analizy kodu zostanie wykorzystany przykład StaticCodeAnalysis o strukturze przedstawionej na poniższym rysunku (widok Project Explorer ):
RSA oferuje kreatora, w którym można zdefiniować scenariusz testu oraz interesujące nas parametry:
Po wykonanych testach w narzędziu przeglądu kodu (ang. Code Review Tool) można obejrzeć podsumowanie poszczególnych testów.
Warto wspomnieć, że RSA nie tylko wskazuje błędy ale także sugeruje sposób naprawy co zaprezentuje poniższy rysunek.
Zastosowanie opcji Quick Fix powoduje przykładowo zmianę kodu:
na kod zoptymalizowany:
Zastosowanie automatycznej naprawy błędów strukturalnych niewątpliwie przyśpiesza proces weryfikacji kodu i jego poprawę. Chciałbym jednak zaznaczyć, że taka zmiana musi być zweryfikowana zawsze przez programistę, bo czasem program może zasugerować coś co nie spełnia naszych oczekiwań.