Code checker
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_CodeSniffer a PHPUnit.
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.