Quando si partecipa a un nuovo progetto o si legge un codice open source, è necessario aver notato che alcuni progetti sono uniformemente organizzati e ben strutturati, mentre altri sono disordinati e aggrovigliati? Se riassumiamo i fattori che producono tale effetto sulla base di codice, ci imbattiamo nella nozione di convenzione di codice.

Scopriamo:

  • Quali sono le convenzioni di codice?
  • In che modo la loro adozione può comportare enormi benefici per il tuo progetto?
  • Che cos’è SwiftLint?
  • E quali stili di codice Swift scegliere?

Definizione della convenzione di codice Swift

La convenzione di codice è un insieme di cose da fare e da non fare che descrivono l’organizzazione dei file, le pratiche di programmazione, i modelli di progettazione, l’approccio architettonico, ecc. Può essere un insieme formale di regole che viene seguito da un team, un’organizzazione o un individuo, o essere informale come l’abitudine di applicare determinate pratiche di codifica.

Lo stile di codice è un sottoinsieme della convenzione di codice che regola la formattazione dei file, come indentazione, posizione delle virgole, parentesi graffe, maiuscole ecc. Nella comunità Swift la distinzione tra i due di solito non viene fatta e viene utilizzato il termine comune Swift code style o talvolta Swift style guide.

Ecco come potrebbero apparire le convenzioni di codifica:

  • Denominazione file: un file che contiene un singolo tipo deve avere lo stesso nome del tipo.
  • Limite di lunghezza della riga: una singola riga di codice non deve superare i 160 caratteri.
  • Denominazione: le variabili sono lowerCamelCase.

Perché usare Swift Code Style

Ogni sviluppatore Swift sa che il linguaggio ha un enorme potenziale, che a sua volta può portare molta complessità, rendere il codice aggrovigliato e difficile da leggere e mantenere. Pertanto, l’obiettivo principale dello stile di codice Swift è ridurre questa complessità descrivendo buone e cattive pratiche di scrittura del codice Swift.

Perché rendere il codice più facile da leggere è così importante?

Secondo Robert C. Martin, il tempo che passiamo a leggere il codice è oltre 10 volte più che scriverlo. Inoltre, leggiamo costantemente il codice esistente per scrivere quello nuovo.

Un’altra ricerca di Facts and Fallacies of Software Engineering afferma che il 40% -80% del costo totale del programma va alla manutenzione.

Riassumiamo i vantaggi che Swift style guide produce:

  • Aiuta a capire la struttura del progetto.
  • Migliora la leggibilità del codice.
  • Facilita la manutenzione.
  • Accelera l’onboarding per i nuovi membri del team.
  • Dà la possibilità di padroneggiare le migliori pratiche di programmazione.
  • Diventa uno strumento di comunicazione tra programmatori nella comunità.

A causa di un impatto così enorme, le convenzioni di codifica vengono solitamente adottate dalle organizzazioni IT e persino da intere comunità di programmazione.

Progettare uno stile di codice da zero è un’attività non banale e richiede sforzi consolidati. Fortunatamente, come sviluppatori Swift non dobbiamo reinventare la ruota e possiamo utilizzare più guide di stile Swift esistenti.

Esploriamo gli stili di codifica Swift più importanti in modo più dettagliato.

Esplorare gli stili di codice Swift

La definizione di un buon stile di codice è soggettiva e la mia raccomandazione personale è di elaborare più stili e modellarli in base alle esigenze del progetto. La lista qui sotto è qui per aiutare.

1. Swift.org

Questa guida è uno standard predefinito nella comunità Swift. Consolida l’insieme minimo assoluto di regole che ogni sviluppatore Swift deve comprendere e seguire.

La guida si concentra sugli aspetti fondamentali della progettazione API Swift che è seguita da tutti i framework di sistema. Non solo renderà il tuo codice organico in combinazione con le API di sistema, ma renderà anche più facile leggere e comprendere i framework Cocoa.

Da solo, Swift.org lo stile del codice non è sufficiente per fornire un set completo di regole, ma è una grande aggiunta alle altre guide elencate di seguito.

Collegamento: Swift.org stile codice

2. Google

Normalmente non si incontrano ‘Google’ e ‘Swift’ in una frase, ma non questa volta. Google capisce senza dubbio l’importanza delle convenzioni di codice e crea convenzioni per tutti i principali progetti open-source, come indicato nelle Guide di stile di Google. La mia ipotesi è che dovremmo ringraziare TensorFlow per questa guida rapida.

Questo stile di codice Swift impressiona per la sua completezza. Copre così tanti aspetti che semplicemente elencandoli qui renderebbe questo articolo due volte più a lungo.

Ciò che è veramente prezioso in questa guida è che ogni punto è ben fondato elencando buone pratiche di programmazione che sono spesso fondamentali per tutte le lingue. Sezione Pratiche di programmazione, che consiglio vivamente di leggere se siete alla ricerca di una guida rapida o no, brilla davvero in questo aspetto.

Dopo aver letto e compreso questa guida vi troverete un programmatore migliore in generale, così come aggiungere un sacco di trucchi Swift in tasca.

Collegamento: Google Swift codice stile

3. Ray Wenderlich

La squadra dietro raywenderlich.com è ben noto nella comunità iOS e non ha bisogno di un’introduzione speciale. Come fanno gli articoli di Ray, la guida è scritta in modo chiaro e comprensibile ed è particolarmente adatta per i nuovi arrivati Swift

Questa guida raggiunge indubbiamente gli obiettivi dichiarati di essere chiara, coerente e breve. Ogni regola è seguita da una spiegazione completa, ragionamento e una serie di esempi con cose da fare e da non fare.

Quello che amo di questa guida è che va oltre la sintassi rapida e la formattazione del codice e spiega le buone pratiche di programmazione, come evitare il codice inutilizzato, spiega la differenza tra valore e tipi di riferimento, i concetti di inizializzazione pigra, controllo degli accessi, ritorni precoci e molto altro.

Al momento in cui sto scrivendo questo articolo, ha già 137 richieste di pull chiuse che dimostrano che la guida è fortemente supportata dalla comunità.

Collegamento: Ray Wenderlich Swift codice stile

4. LinkedIn

LinkedIn fa grande lavoro a open sourcing loro componenti interni e quelli Swift non sono un’eccezione. La loro guida di stile Swift esiste da oltre 3 anni e ha incorporato molti miglioramenti sia dalla comunità open source che dal team LinkedIn.

LinkedIn Swift guide è breve, conciso e ben strutturato. Vengono spesso fornite brevi spiegazioni teoriche per comprendere meglio il ragionamento alla base di determinate regole. Gli esempi sono sempre auto-esplicativi e dimostrano chiaramente il punto.

La guida si concentra principalmente sulla formattazione del codice e consiglio vivamente di usarlo in combinazione con altri stili di codice Swift da questo elenco.

Collegamento: LinkedIn Swift codice stile

5. Airbnb

Airbnb team è ben noto per il loro prezioso contributo alla comunità iOS. Al momento sto scrivendo questo articolo, Airbnb Swift Style Guide è solo 1 settimana di età ciò che lo rende il più fresco in questa lista.

Fin dall’inizio, la guida imposta il contesto giusto spiegando perché è necessario uno stile di codice e sono completamente d’accordo con ogni punto.

La guida è un piacere da leggere: è ben strutturata e le regole sono spiegate con precisione. Dove ha senso, ogni punto è accompagnato da esempi di dos e dont e contesto teorico. Quasi ogni regola è fatta lintable con SwiftLint-uno strumento di analisi statica che sarà discusso pochi paragrafi di seguito.

Mi piace particolarmente la sezione Patterns in cui Airbnb offre pratici consigli Swift che consiglio vivamente di controllare. Ad esempio, prescrive di utilizzare valori immutabili anziché mutabili e fornisce suggerimenti sulla definizione delle enumerazioni. Il mio preferito è la gestione di condizioni inaspettate in cui l’uso di asserzioni, precondizioni ed errori fatali è spiegato in grande dettaglio.

La guida fornisce anche le impostazioni dell’editor Xcode per soddisfare le regole della sezione Formattazione che possono essere facilmente applicate come mezzo di uno script.

Link: Airbnb Swift Style Guide

Swift Code Linter SwiftLint

Siamo tutti umani e deliberatamente o no, tutti commettiamo errori. Pertanto, non è sufficiente documentare o concordare verbalmente le convenzioni di codifica Swift. Per ridurre al minimo il numero di errori, le regole devono essere applicate da uno strumento automatico, noto come linter.

Linter è un analizzatore di codice statico che trova errori di programmazione, bug, errori di formattazione e costrutti potenzialmente dannosi.

SwiftLint è l’analizzatore di codice Swift più utilizzato che può essere configurato in base a regole personalizzate. Se non lo stai già utilizzando, ti consiglio vivamente di controllare SwiftLint e iniziare a usarlo nei tuoi progetti Swift il prima possibile.

La cosa più importante da capire su SwiftLint è che non impone un “single true style”, ma aiuta ad essere coerente all’interno di un progetto.

Sommario

Le convenzioni di codice uniformi contribuiscono molto alla produttività della programmazione e vogliamo sempre essere il più produttivi possibile.

L’elenco con gli stili di codifica Swift più importanti è una grande fonte di best practice Swift e un punto di partenza per elaborare il proprio set di convenzioni.

Il buon stile del codice Swift è soggettivo e dovrebbe essere lasciato a te e alla considerazione del tuo team. Una volta approvato e documentato, tale stile diventa uno standard e deve essere coerente in tutto il progetto per migliorare la leggibilità che si traduce in numerosi vantaggi.

SwiftLint è uno strumento ampiamente adottato nella comunità Swift che aiuta a far rispettare le convenzioni di codifica. Aiuta a evitare gli errori umani in anticipo e può essere una preziosa aggiunta allo stack di strumenti del tuo progetto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.