Kihagyás

Kód statikus tesztelése

Példaprojekt betöltése:

  • Csomagold ki a workspace.zip fájlt
  • Indítsd el az Eclipse-et
  • File -> Import ... -> General -> Existing project into workspace

Kód review

A kód review a kód kézi elemzését jelenti. Tehát, a kódon történt változásokat át kell néznünk mielőtt a kódbázisba kerül az új implementáció. A review során hibákat (funkcionális, typo, nem oda való kódrészletek) keresünk és dokumentáljuk azt.

Egy kód review során van pár ökölszabály, amit követnünk kell:

  • Ismerjük meg a kódot, és hogy mi a célunk a review-val
  • A folyamat előtt build-eljük és teszteljük a kódot
  • Maximum 1 órát szánjunk a kód reviewra
  • 500 sornál többet ne review-zzunk
  • Építő kritikát fogalmazzunk meg a reviewzás során, kerüljük a személyeskedést
  • Használjunk ellenőrző listákat

A legfontosabb részek amiket figyelnünk kell egy kód review során: struktúra, stílus, logika, performancia, olvashatóság, funkcionalitás. Kérdések amiket feltehetünk:

  • Értem, hogy mit csinál a kód?
  • Úgy működik-e a kód ahogy annak kellene? (pl. Funkcionális specifikáció alapján)
  • Megfelel a kód a cég kódolási stílusának?

Feladat

Review-zzuk a workspace.zip fájlban lévő Calculator csomag kódját!

Kérdések

  • Milyen hibákat sikerült felfedezni?
  • Ezek valóban hibák-e?
Találatok, gondolatok

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

Statikus elemzés

Előkészületek

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

  • SpotBugs telepítése:
    • Help -> Eclipse Marketplace
    • Find: spotbugs; SpotBugs Eclipse plugin 3.1.5 ->Go
  • PMD telepítése:
    • Help -> Eclipse Marketplace
    • Find: checkstyle; pmd-eclipse-plugin 4.28.0 ->Go
  • Checkstyle telepítése:
    • Help -> Eclipse Marketplace
    • Find: pmd; Checkstyle Plug-in 8.44.0 ->Go

Elemzők használata

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

  • SpotBugs -> SpotBugs
  • 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 SpotBugs 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:

  • SpotBugs
    • Projekt kontext menü -> Properties -> SpotBugs
      • 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-19 11:39:56