SwiftFormat : Le Styliste Automatique pour Votre Code Swift

Quand le Code Se Formate Lui-même
Imaginez : dans une équipe de cinq développeurs, chacun écrit le code à sa façon. Certains ajoutent des espaces avant les crochets, d'autres non. L'un préfère casser les paramètres de fonction sur plusieurs lignes, un autre écrit tout sur une seule ligne. Le résultat est un code source en patchwork, et la revue de code se transforme en débats sans fin sur le style.
SwiftFormat résout exactement ce problème — un outil pour le formatage automatique du code Swift. Il ne se contente pas d'ajouter des espaces et de l'indentation, il ramène le code à un standard unifié, corrigeant des centaines de petites incohérences.
Que Peut Faire SwiftFormat ?
-
Travail approfondi du style :
- Corrige l'indentation et l'alignement
- Supprime les
selfet crochets redondants - Corrige l'ordre des modificateurs d'accès
- Unifie le style de déclaration des fermetures
-
Configuration flexible :
- Plus de 50 règles de formatage
- Prise en charge des fichiers de configuration
.swiftformat - Possibilité de créer des règles personnalisées
-
Intégration partout :
- Ligne de commande pour l'exécution manuelle
- Plugins pour Xcode, VSCode, Sublime Text
- Hooks pre-commit Git
- Support CI/CD via 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))
}
Comment Commencer ?
Installation via Homebrew :
brew install swiftformat
Utilisation basique :
# Форматировать все файлы в текущей директории
swiftformat .
# Только проверить стиль без изменений (линтер)
swiftformat --lint .
Pour les projets, il est recommandé d'ajouter SwiftFormat comme étape de build dans Xcode ou un hook pre-commit dans Git. Ainsi, le code sera automatiquement formaté avant chaque commit.
Flexibilité de la Configuration
SwiftFormat comprend que chaque projet a ses propres exigences de style. Vous pouvez :
- Désactiver des règles individuelles via
--disable - Créer un fichier
.swiftformatà la racine du projet - Configurer le comportement pour des fichiers spécifiques via des commentaires
Exemple de configuration :
# .swiftformat
--indent 4
--disable trailingCommas
--enable isEmpty
--header "Copyright (c) {year} MyCompany"
Pourquoi L'essayer ?
- Gain de temps — plus besoin de passer des heures à formater manuellement
- Style cohérent — plus de débats d'équipe sur l'emplacement des crochets
- Historique git propre — moins de commits « style »
- Concentration sur la logique — se concentrer sur ce qui compte vraiment
SwiftFormat est particulièrement utile pour :
- Les équipes de 2 développeurs et plus
- Les projets avec un long historique de développement
- Les revues de code fréquentes
- Le maintien de la qualité des projets open source
Sous le Capot
Le projet est activement développé depuis 2016, compte plus de 8,5k étoiles sur GitHub et prend en charge toutes les versions actuelles de Swift. Sous le capot se trouve un puissant parseur de code Swift et un système de règles que vous pouvez combiner comme des blocs LEGO.
# Показать все доступные правила
swiftformat --rules
# Информация о конкретном правиле
swiftformat --rule-info redundantSelf
Alternatives
- SwiftLint : Plus axé sur la détection des problèmes de code que sur le formatage
- Scripts artisanaux : Nécessitent une maintenance et sont souvent moins flexibles
Le principal avantage de SwiftFormat est qu'il ne se contente pas de trouver les problèmes — il les corrige immédiatement.
SwiftFormat n'est pas un simple « outil supplémentaire » — c'est un vrai sauveur pour les équipes fatiguées des corrections de style sans fin. Il prend en charge tout le travail de formatage routinier, vous permettant de vous concentrer sur la résolution des vrais problèmes.
Essayez de l'intégrer à votre workflow — vous verrez des résultats dès la première exécution. Votre code deviendra plus propre et la vie — plus simple.