při vstupu do nového projektu nebo čtení otevřeného zdrojového kódu jste si museli všimnout, že některé projekty jsou jednotně organizované a dobře strukturované, zatímco jiné jsou chaotické a zamotané? Pokud shrneme faktory, které přinášejí takový účinek nad kódovou základnou, narazíme na pojem konvence kódu.

pojďme zjistit:

  • co jsou konvence kódu?
  • jak jejich přijetí může mít za následek obrovské výhody pro váš projekt?
  • co je SwiftLint?
  • a které styly kódu Swift vybrat?

definování Swift Code Convention

Code convention je sada dos a don ‚ ts, které popisují organizaci souborů, programovací postupy, návrhové vzory, architektonický přístup atd. Může to být formální soubor pravidel, který následuje tým, organizace nebo jednotlivec, nebo může být stejně neformální jako zvyk uplatňovat určité postupy kódování.

Styl kódu je podmnožina konvence kódu, která řídí formátování souborů, jako je odsazení, pozice čárek, závorky, velká písmena atd. V komunitě Swift se obvykle nerozlišuje mezi nimi a používá se běžný termín Swift code style nebo někdy Swift style guide.

zde je návod, jak by mohly vypadat konvence kódování:

  • pojmenování souboru: soubor, který obsahuje jeden typ, musí mít stejný název jako typ.
  • limit délky řádku: Jeden řádek kódu by neměl překročit 160 znaků.
  • pojmenování: proměnné jsou lowerCamelCase.

Proč používat styl kódu Swift

každý vývojář Swift ví, že jazyk má obrovský potenciál, který může zase přinést spoustu složitosti, zamotat kód a těžko číst a udržovat. Hlavním cílem Swift code style je proto snížit tuto složitost popisem dobrých a špatných postupů psaní Swift kódu.

proč je snadnější čtení kódu tak důležité?

podle Roberta C. Martina je čas, který trávíme čtením kódu, více než 10x více než jeho psaní. Kromě toho neustále čteme existující kód, abychom mohli napsat nový.

další výzkum z faktů a omylů softwarového inženýrství uvádí, že 40% -80% celkových nákladů na program jde na údržbu.

pojďme shrnout výhody, které Swift style guide přináší:

  • pomáhá pochopit strukturu projektu.
  • zlepšuje čitelnost kódu.
  • usnadňuje údržbu.
  • urychluje onboarding pro nové členy týmu.
  • dává možnost zvládnout nejlepší programovací postupy.
  • se stává komunikačním nástrojem mezi programátory v komunitě.

vzhledem k tak obrovskému dopadu jsou konvence kódování obvykle přijímány it organizacemi a dokonce i celými programovacími komunitami.

navrhování stylu kódu od nuly je netriviální úkol a vyžaduje konsolidované úsilí. Naštěstí, jako vývojáři Swift nemusíme znovu objevovat kolo a můžeme využít více existujících průvodců stylem Swift.

pojďme prozkoumat nejvýznamnější styly kódování Swift podrobněji.

zkoumání stylů kódu Swift

definice dobrého stylu kódu je subjektivní a moje osobní doporučení je vypracovat více stylů a tvarovat je podle vašich potřeb projektu. Níže uvedený seznam je zde, aby vám pomohl.

1. Swift.org

Tato příručka je standardem ve výchozím nastavení v komunitě Swift. Konsoliduje absolutní minimální soubor pravidel, kterým musí každý vývojář Swift rozumět a dodržovat je.

příručka se zaměřuje na základní aspekty návrhu Swift API, které následují všechny systémové rámce. Nejen, že váš kód bude vypadat organicky ve spojení se systémovými API, ale také usnadní čtení a porozumění rámcům Cocoa.

Samostatně, Swift.org kód styl nestačí poskytnout komplexní soubor pravidel, ale to je skvělý doplněk k ostatním průvodců uvedených níže.

odkaz: Swift.org styl kódu

2. Google

obvykle nenarazíte na „Google“ a „Swift“ v jedné větě, ale tentokrát ne. Google nepochybně chápe důležitost konvencí kódu a vytváří konvence pro všechny hlavní projekty s otevřeným zdrojovým kódem, jak je uvedeno v průvodcích stylu Google. Můj odhad je, že bychom měli poděkovat TensorFlow za tento rychlý průvodce.

tento styl kódu Swift zaujme svou komplexností. Pokrývá tolik aspektů, že pouhý jejich výpis zde by tento článek dvakrát tak dlouho.

co je na této příručce opravdu cenné, je to, že každý bod je opodstatněný seznamem správných programovacích postupů, které jsou často základem pro všechny jazyky. Sekce programovacích postupů, kterou vřele doporučuji přečíst, ať už hledáte rychlého průvodce nebo ne, v tomto aspektu opravdu svítí.

po přečtení a pochopení této příručky se ocitnete jako lepší programátor obecně a přidáte do kapsy spoustu rychlých triků.

odkaz: Styl kódu Google Swift

3. Ray Wenderlich

tým za sebou raywenderlich.com je dobře známý v komunitě iOS a nepotřebuje zvláštní úvod. Stejně jako Rayovy články, průvodce je napsán jasným a srozumitelným způsobem a je vhodný zejména pro rychlé nováčky

Tato příručka nepochybně dosahuje stanovených cílů, aby byla jasná, konzistentní a stručná. Po každém pravidle následuje úplné vysvětlení, zdůvodnění a soubor příkladů s dos a don ‚ ts.

co se mi na této příručce líbí, je to, že jde nad rámec formátování syntaxe a kódu Swift a vysvětluje správné programovací postupy, jako je vyhýbání se nepoužívanému kódu, vysvětluje rozdíl mezi hodnotovými a referenčními typy, koncepty líné inicializace, řízení přístupu, včasné výnosy a mnoho dalšího.

v době, kdy píšu tento článek, již má 137 uzavřených žádostí o vytažení, což ukazuje, že průvodce je silně podporován komunitou.

odkaz: Ray Wenderlich Swift code style

4. LinkedIn

LinkedIn dělá skvělou práci při otevřeném získávání svých interních komponent a Swift nejsou výjimkou. Jejich průvodce stylem Swift existuje již více než 3 let a zahrnoval spoustu vylepšení jak z open source komunity, tak z týmu LinkedIn.

LinkedIn Swift guide je stručný, výstižný a dobře strukturovaný. Krátká teoretická vysvětlení jsou často poskytována, aby lépe porozuměla úvahám za určitými pravidly. Příklady jsou vždy samovysvětlující a jasně ukazují bod.

průvodce se primárně zaměřuje na formátování kódu a vřele doporučuji jej použít v kombinaci s jinými styly kódu Swift z tohoto seznamu.

odkaz: LinkedIn Swift code style

5. Airbnb

tým Airbnb je známý svým cenným přínosem pro komunitu iOS. V době, kdy píšu tento článek, průvodce stylem Airbnb Swift je spravedlivý 1 týden Starý, co z něj dělá nejčerstvější v tomto seznamu.

průvodce od samého začátku nastavuje správný kontext vysvětlením, proč potřebujete styl kódu, a já s každým bodem zcela souhlasím.

průvodce je potěšením číst: je dobře strukturovaný a pravidla jsou přesně vysvětlena. Tam, kde to dává smysl, je každý bod doprovázen příklady dos a dont a teoretických souvislostí. Téměř každé pravidlo je lintable s SwiftLint-statický analyzátor nástroj, který bude popsán několik odstavců níže.

obzvláště se mi líbí sekce vzory, kde Airbnb poskytuje praktické rychlé rady, které vřele doporučuji zkontrolovat. Například předepisuje použití neměnných hodnot namísto proměnných a poskytuje tipy na definici enumů. Nejraději mám řešení neočekávaných stavů, kde je velmi podrobně vysvětleno použití tvrzení, předpokladů a fatálních chyb.

průvodce dokonce poskytuje nastavení editoru Xcode pro splnění pravidel z části formátování, které lze snadno aplikovat pomocí skriptu.

odkaz: Airbnb Swift Style Guide

Swift Code Linter SwiftLint

všichni jsme lidé a úmyslně nebo ne, všichni děláme chyby. Nestačí tedy dokumentovat nebo slovně souhlasit s konvencemi kódování Swift. Aby se minimalizoval počet chyb, musí být pravidla vynucena automatizovaným nástrojem známým jako linter.

Linter je statický analyzátor kódu, který najde chyby programování, chyby, chyby formátování a potenciálně škodlivé konstrukce.

SwiftLint je nejpoužívanější analyzátor kódu Swift, který lze konfigurovat na základě vlastních pravidel. Pokud ji již nepoužíváte, vřele doporučuji zkontrolovat SwiftLint a začít ji používat ve svých projektech Swift co nejdříve.

nejdůležitější věcí, kterou je třeba pochopit o Swiftlintu, je to, že nevynucuje „jediný skutečný styl“, ale pomáhá být konzistentní v rámci projektu.

shrnutí

jednotné konvence kódu přispívají k produktivitě programování hodně a vždy chceme být co nejproduktivnější.

seznam s nejpozoruhodnějšími styly kódování Swift je skvělým zdrojem osvědčených postupů Swift a výchozím bodem pro vypracování vlastní sady konvencí.

dobrý styl kódu Swift je subjektivní a měl by být ponechán na vás a na zvážení vašeho týmu. Jakmile je schválen a zdokumentován, takový styl se stává standardem a musí být konzistentní v celém projektu, aby se zlepšila čitelnost, což má za následek řadu výhod.

SwiftLint je široce přijímaný nástroj v komunitě Swift, který pomáhá prosazovat konvence kódování. Pomáhá vyhnout se lidským chybám brzy a může být cenným doplňkem zásobníku nástrojů vašeho projektu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.