Skip to content

Easy coding standard

Dříve Code sniffer nově Easy coding standard

Easy Coding Standard (ECS) je nástroj určený k automatickému zajištění kvalitního a konzistentního formátování kódu v PHP projektech. Pomocí ECS můžeme snadno aplikovat soubor předdefinovaných pravidel na náš kódový základ, což pomáhá udržovat pořádek a konzistenci napříč týmem.

Proč používat Easy Coding Standard?

Konzistentnost

  • Jednotný styl: ECS zajišťuje, že každý vývojář ve vašem týmu píše kód podle stejných standardů. Jednotný styl ulehčuje čtení a pochopení kódu.
  • Automatické opravy: Časté stylové problémy jsou automaticky opraveny nástrojem, čímž se snižuje počet problémů, které by mohly nastat během code review a náročnost na ruční úpravy.

Pořádek dělá přátele

  • Jasnější kód: Čistý a konzistentně formátovaný kód pomáhá vývojářům rychleji chápat strukturu projektu a zkrátit dobu potřebnou na orientaci v něm.
  • Srozumitelnost pro nové členy: Noví členové týmu se rychleji zorientují díky jednotnému stylu kódování, což urychlí jejich adaptaci na projekt.

Ušetří čas na CR

  • Méně chyb stylu: ECS snižuje počet stylových chyb v pull requestech, což znamená méně času stráveného nad opravováním drobných problémů a více času na věci, které jsou důležité – funkčnost a logika kódu.
  • Fokus na funkčnost: Automatizací procesu kontroly stylu se code review zaměřuje na funkčnost a design, místo na formátování.

Jak používat ECS

V laravel example projektu je /ecs.php, který je jako předloha, jak by to mělo vypadat. Není to dogma, ale bylo by dobré držet jednotný styl v Unnits, ať jsou všichni na stejné lodi.

Spouštění

V composer.json jsou dva základní commandy:

  • composer ecs - provede analýzů kódu a zobrazí nesrovnalosti v kódů
  • composer ecs:fix - to co automaticky dokáže ecs opravit, tak opraví.

Pojdmě společně dělat hezčí kód

Pokavaď se narazí na situaci, kdy se vrací opakovaně z CR, že by to mělo být napsané v takovémto formátu. Např:

php
if(!$variable instanceof AwesomeClass) 
if($variable include AwesomeClass === false) 

Nejlepším řešením je vytvořit pravidlo do ECSka a následně ho přidat do laravel example projektu. Pokavaď se někdo necití na tvorbu pravidla, tak je dobré vytvořit issue v laravel example projektu, sepsat co je potřeba, jak by to mělo vypadat. Takto budeme následně všichni šťastni.