Aby programy dobře fungovaly, neměly by obsahovat chyby. Aby je neobsahovaly, existuje množství postupů a metodik, jak jim předcházet. I tak se jedná o nemalé množství času, který je potřeba věnovat důsledné kontrole. Je k dispozici mnoho nástrojů, které situaci výrazně zjednodušují. Může se však stát, že se některý opomene spustit. A jak už to bývá, zrovna ten by odhalil nedostatek.

Aby se kontrola neopomněla spustit, vznikl nástroj interitty/code-checker. Tento spustí po sobě všechny důležité kontroly a o výsledku informuje jak na výstup, tak i návratovým kódem. Lze ho tak plně využít v rámci continuous integration, jako automatickou kontrolu před uložením kódu do Gitu pomocí git hooku ale i ručně v průběhu vývoje.

Nástroj spouští následující kontroly v tomto pořadí PhpStan, PHP-CS-Fixer, PHPMD, PHP_CodeSnifferPHPUnit. V případě, že některá kontrola odhalí nedostatek a nástroj je spuštěn s parametrem --fail-fast, další kontroly se již nespouští a lze tak ušetřit výpočetní čas v CI/CD pipeline.

Jelikož je kód aplikací Interitty vytvářen až na výjimky zcela od začátku, jsou aplikovány obecné PSR standardy a výchozí doporučené nastavení kvality, cyklomatické komplexity a nejvyšší možná míra statické kontroly.

Protože je nezbytné kontrolu spouštět v prostředí co nejvíce podobném produkčnímu, dává smysl tyto nástroje spouštět uvnitř k tomu určenému Docker containeru. Skript však lze spouštět z hostujícího stroje, který spustí sebe sama uvnitř. Zároveň však s sebou nese sadu pomocných skriptů, které umožňují jednotlivé kontroly spouštět přímo z hostujícího vývojového prostředí IDE. Návod, jak nastavit prostředí NetBeans je přímo součástí dokumentace.