Directives de développement Android
Modifier1. Apply Clean Code guidelines ✨
- 📖 Code lisible : Écrivez du code facile à lire et à comprendre. Utilisez des noms significatifs et un formatage cohérent.
- 🔧 Fonctions courtes : Les fonctions doivent être courtes et ne faire qu’une seule chose.
- 🚨 Gestion des erreurs : Gérez les exceptions de manière appropriée en utilisant des blocs
try-catchet fournissez des messages d’erreur pertinents. - ♻️ Évitez la duplication de code : Extrayez le code réutilisable dans des fonctions ou des classes.
2. Coding standards 📝
🔤 Conventions de nommage
Suivez des conventions de nommage cohérentes pour les classes, méthodes, variables et ressources :
- 📦 Classes :
PascalCase - 🔧 Méthodes & variables :
camelCase - 🔒 Constantes :
UPPER_SNAKE_CASE - 📁 Ressources : Utilisez des préfixes pour plus de clarté (par ex.,
activity_main.xml,ic_launcher.png)
🎨 Formatage du code & linter
Respectez les conventions de codage Kotlin. Utilisez detekt pour la vérification automatique du style de code et l’analyse statique. Voici la configuration detekt.yml que nous utilisons dans nos projets :
# Naming rules
naming:
ConstructorParameterNaming:
active: false
VariableNaming:
active: false
# Style rules
style:
ForbiddenComment:
active: false
MaxLineLength:
active: true
maxLineLength: 120
# Complexity rules
complexity:
TooManyFunctions:
ignorePrivate: true
🗒️ Documentation
Commentaires et documentation : Rédigez des commentaires clairs lorsque nécessaire, mais privilégiez du code auto-explicatif. Utilisez KDoc pour documenter les fonctions et classes complexes.
3. Apply the SOLID principles 🛠️
- Principe de responsabilité unique : Chaque classe ou fonction doit avoir une seule responsabilité.
- Principe ouvert/fermé : Le code doit être ouvert à l’extension mais fermé à la modification. Utilisez des interfaces et des classes abstraites pour ajouter des fonctionnalités sans modifier le code existant.
- Principe de substitution de Liskov : Les sous-types doivent pouvoir être substitués à leurs types de base sans affecter la correction.
- Principe de ségrégation des interfaces : Utilisez des interfaces petites et spécifiques plutôt que des interfaces larges et générales.
- Principe d’inversion des dépendances : Dépendre des abstractions plutôt que d’implémentations concrètes.