SwiftFormat: lo stilista automatico per il tuo codice Swift

Quando il codice si formatta da solo
Immagina: in un team di cinque sviluppatori, tutti scrivono codice a modo loro. Alcuni aggiungono spazi prima delle parentesi, altri no. Uno preferisce spezzare i parametri delle funzioni su più righe, un altro scrive tutto su una singola riga. Il risultato è un codebase disomogeneo, e le revisioni del codice si trasformano in infinite discussioni sullo stile.
SwiftFormat risolve esattamente questo problema — uno strumento per la formattazione automatica del codice Swift. Non si limita ad aggiungere spazi e indentazione, porta il codice a uno standard unificato, correggendo centinaia di piccole incoerenze.
Cosa sa fare SwiftFormat?
-
Lavoro approfondito sullo stile:
- Corregge indentazione e allineamento
- Rimuove
selfe parentesi ridondanti - Sistema l'ordine dei modificatori di accesso
- Unifica lo stile di dichiarazione delle closure
-
Configurazione flessibile:
- Più di 50 regole di formattazione
- Supporto per file di configurazione
.swiftformat - Possibilità di creare regole personalizzate
-
Integrazione ovunque:
- Riga di comando per esecuzione manuale
- Plugin per Xcode, VSCode, Sublime Text
- Git pre-commit hooks
- Supporto CI/CD tramite GitHub Actions
// До форматирования
func processData(data:[String:Any], completion:(Result)->Void){
guard let value=data["key"] else{return}
self.completion(.success(value))
}
// После SwiftFormat
func processData(
data: [String: Any],
completion: (Result) -> Void
) {
guard let value = data["key"] else { return }
completion(.success(value))
}
Come iniziare?
Installazione tramite Homebrew:
brew install swiftformat
Utilizzo base:
# Форматировать все файлы в текущей директории
swiftformat .
# Только проверить стиль без изменений (линтер)
swiftformat --lint .
Per i progetti, si consiglia di aggiungere SwiftFormat come build step in Xcode o come pre-commit hook in Git. In questo modo, il codice verrà formattato automaticamente prima di ogni commit.
Flessibilità della configurazione
SwiftFormat comprende che ogni progetto ha i propri requisiti di stile. Puoi:
- Disabilitare singole regole tramite
--disable - Creare un file
.swiftformatalla radice del progetto - Configurare il comportamento per file specifici tramite commenti
Esempio di configurazione:
# .swiftformat
--indent 4
--disable trailingCommas
--enable isEmpty
--header "Copyright (c) {year} MyCompany"
Perché provarlo?
- Risparmio di tempo — non spendere più ore nella formattazione manuale
- Stile coerente — niente più discussioni nel team su dove posizionare le parentesi
- Storia git pulita — meno commit "di stile"
- Concentrati sulla logica — concentrati su ciò che conta davvero
SwiftFormat è particolarmente utile per:
- Team di 2+ sviluppatori
- Progetti con una lunga storia di sviluppo
- Frequenti revisioni del codice
- Mantenere la qualità dei progetti open source
Sotto il cofano
Il progetto è stato sviluppato attivamente dal 2016, ha oltre 8.5k stelle su GitHub e supporta tutte le attuali versioni di Swift. Sotto il cofano c'è un potente parser del codice Swift e un sistema di regole che puoi combinare come blocchi LEGO.
# Показать все доступные правила
swiftformat --rules
# Информация о конкретном правиле
swiftformat --rule-info redundantSelf
Alternative
- SwiftLint: Più focalizzato sull'individuazione dei problemi del codice che sulla formattazione
- Script artigianali: Richiedono manutenzione e sono spesso meno flessibili
Il principale vantaggio di SwiftFormat è che non si limita a trovare i problemi — li corregge immediatamente.
SwiftFormat non è solo "un altro strumento" — è un vero e proprio salvavita per i team stanchi di correzioni infinite dello stile. Si occupa di tutto il lavoro di formattazione di routine, permettendoti di concentrarti sulla risoluzione dei problemi reali.
Prova ad aggiungerlo al tuo flusso di lavoro — vedrai risultati già dalla prima esecuzione. Il tuo codice diventerà più pulito e la vita — più semplice.