Kihagyás

Kód statikus tesztelése

Kód review

Statikus elemzés

Előkészületek

Az Eclipse-ben fogunk megnézni néhány statikus kódelemzőt:

  • FindBugs telepítése:
    • Help -> Install New Software
    • Add: Name=FindBugs update site; URL=http://findbugs.cs.umd.edu/eclipse
  • PMD telepítése:
    • Help -> Install New Software
    • Add: Name=PMD for Eclipse Update Site; URL=http://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/
  • Checkstyle telepítése:
    • Help -> Eclipse Marketplace
    • Find: checkstyle; ->Go
  • Példaprojekt betöltése:
    • Csomagold ki a workspace.zip fájlt
    • File -> Import ... Existing project into workspace

Elemzők használata

Az összes elemző elindítható a projekt kontext menüjéből (jobb klikk a projekten):

  • Find Bugs -> Find Bugs
  • CheckStyle -> Check Code with CheckStyle
  • PMD -> Check Code

Feladat

Futtassuk az elemzőket!

Az eredmények a kódban és külön ablakban is megjelennek, utóbbiakat megfelelő menüből tudjuk bekapcsolni (ha nem jelennek meg automatikusan):

  • Window -> Show View -> Other ...

Feladat

Nézzünk szét a hibák között, keressünk érdekeseket, feleslegeseket, stb.

Kérdések

  • Milyen hibákat sikerült megtalálni az elemzők segítségével?
  • Ezek valóban hibák-e?
  • Minden megtalált hibát valóban olyan fontosnak éreztek-e, mint amilyen fontos az adott elemző szerint?
  • Mi történik, ha a FindBugs esetében a riasztási szintet (minimum rank to repport) levisszük 20-ról 15-re?
Találatok, gondolatok

Beszéljük meg az érdekesebb találatokat.

A statikus elemző eszközök konfigurációja nagyon fontos. Az ilyen eszközök egyrészt nagy mennyiségű hibát képesek jelenteni, ami adott esetben kontraproduktív lehet. (10 hibát a fejlesztő szívesen átnéz, de ha 10.000 hibát teszünk elé egyszerre, bele sem fog kezdeni.) Konfiguráljuk úgy a rendszert, hogy csak a fontosabb hibákat mutassa.

No, de mik a fontosabb hibák? Ez is egyén/szervezet/helyzet függő. A konkrét bug-okra, lehetséges meghibásodásokra utaló warningokat általában fontosabbnak tartjuk, míg a formai "hibákat" kevésbé. Hosszú távon ugyanakkor lehet, hogy a rossz formában megírt kód nagyobb költséggel jár, tehát a kapcsolódó találatok szintén fontosnak minősíthetők.

Az elemzők konfigurációi az alábbiak szerint réhetőek el:

  • FindBugs
    • Projekt kontext menü -> Properties -> Findbugs
      • Configure Workspace Settings
  • CheckStyle
    • Window menü -> Preferences -> CheckStyle
    • New or Copy -> Configure...
  • PMD
    • Window menü -> Preferences -> PMD -> Rule Configuration

Feladat

Nézzünk szét az eszközök konfigurációs beállításai között. Válasszuk ki valamelyik eszközt, és konfiguráljuk át az elemzést.


Utolsó frissítés: 2021-10-15 08:15:26