V životě vývojářů se občas objeví nástroj, který může výrazně usnadnit vzájemnou komunikaci. Nástroj, jehož použitím lze předejít výbuchům hněvu a nekontrolovaného šílenství. Jedním z nich je sympatický linter, který vám dnes stručně představím.
Swiftlint – linter pro iOS
Jsou určité situace, které mohou mezi programátory vyvolat válku. A to i když se zúčastnění znají léta a jinak se mají rádi. Mám na mysli třeba tohle:
Ptát se, zda je správná první či druhá varianta, je jako dokola se ptát, jestli bylo dřív vejce nebo slepice. Rozumní lidé se domluví. Ale občas se najde černá ovce, která se snaží zavedené zvyklosti narušit a pokouší se do již fungujícího kódu protlačit opačnou variantu. V takovém případě dochází k narušení formátu a propuká panika. V kancelářích se začínají zapalovat louče a brousit vidle. Většinou stačí slovní domluva. Ale co kdyby na narušitele integrity formátování vyskočilo již ve vývojovém prostředí následující upozornění?
V takovém případě mu nezbude nic jiného, než sklopit zrak a se slzami v očích přesunout onu závorku zpět tam, kam patří. Zlo je rozprášeno hned v zárodku a svět je opět krásný jako dřív. A co pomohlo k tomu, abychom udusili jiskru nepokojů takhle brzy? Velmi jednoduchý a účinný nástroj Swiftlint.
Co je to Swiftlint?
Swiftlint je linter pro vývoj na platformu Apple. Jedná se o nástroj, který provádí analýzu zdrojového kódu pro konzistence kódu vůči specifikovaným pravidlům. Ta jsou buď ve výchozím stavu nebo jsou upravena pro potřeby týmu. Styly, ze kterých vychází, jsou specifikované z GitHub’s Swift Style Guide. Tyto styly jsou promítnuty do pravidel, která si lze v projektech povolit či zakázat. Kompletní seznam pravidel (i s jejich detailním popisem), je k dispozici v repozitáři nástroje, v souboru Rules.md. Každé pravidlo obsahuje informaci, zda je ve výchozím stavu povoleno či zakázáno.
Některá pravidla jsou podstatná, některá méně. Je proto záhodno, aby se sešlo pár chytrých hlav a domluvilo se, která bude dobré používat a která nikoliv. Pak stačí vytvořit ve struktuře projektu soubor .swiftlint.yml, který bude domluvená pravidla obsahovat. Pokud definici pravidel dostane na starost člověk, který rád slyší nářek svých kolegů, může povolit všechna pravidla, která jsou k dispozici. I velmi jednoduchý kód pak může vypadat třeba takhle:
A poučení na závěr? Pro stanovení pravidel vyberte člověka, který nemá sadistické sklony a umí nekonfliktně komunikovat s ostatními. 😉
Lukáš Šanda