• detekuje chybové vzory v kódu aplikace
  • není potřeba mít spuštěnou aplikaci

Co odhalí?

  • technický dluh
    • tzv. “špatné programování”
    • neomezí funkčnost programu, ale omezí budoucí údržbu a přehlednost kódu
    • vzniká když vývojář pracuje pod časovým tlakem nebo je nezkušený
    • špatné jmenné konvence, složité ify, nepoužívané importy, literály místo konstant apod.
  • duplikace
    • třeba dodržovat DRY princip
      • zdržuje to změny (jsou potřeba udělat na více místech) a pokud se nějaké vynechá, zanese se chyba
      • pokud spolu duplicitní části nesouvisí, tak je to v pohodě (není to porušení DRY)
  • problémy s dopadem na spolehlivost
    • v proměnné se může objevit neošetřený null
    • podmínky, které jsou vždy true nebo vždy false
    • nepoužívané proměnné
  • problémy s dopadem na zabezpečení
    • SQL injection (skládání SQL dotazů spojováním stringů)
    • hesla v plain textu
    • připojení do DB bez hesla

Nástroje

  • SonarQube, PHPStan, FindBugs