Pratiques et directives de codage standard pour le développement de packages
- Dernière mise à jour2022/05/19
Cette rubrique couvre les pratiques et directives de codage standard permettant de garantir un développement de haute qualité des packages.
- Tests
- Assurez-vous d'avoir un code de haute qualité. Rédigez suffisamment de tests d'unité et de tests d'intégration pour votre package.
- Icônes
- Définissez l'icône appropriée pour votre package.
- Réglage manuel de la version
- La version de génération du package du kit SDK est mise à jour automatiquement chaque fois qu'une génération se produit. Cependant, vous pouvez le définir manuellement dans le projet de commande d'un fichier build.gradle commun.
- Mettez à jour le fichier build.gradle avant une génération.
- Saisissez jusqu'à quatre chiffres, séparés par un point, comme illustré ci-dessous :
. . . ext { version '2.0.8' } dependencies {...}
- Dépendances
- Intégrez toutes les dépendances dans votre package JAR. Chargez les dépendances au moment de l'exécution en les extrayant dans un emplacement temporaire. Assurez-vous de nettoyer l'emplacement temporaire après avoir chargé les dépendances.
- Fichiers JAR dépendants
- Ajoutez les fichiers JAR dépendants sous les dépendances dans le fichier build.gradle afin que les fichiers JAR dépendants soient regroupés.
. . . dependencies { compileOnly name: 'command-annotations' compileOnly name: 'bot-runtime' compileOnly name: 'bot-api' implementation name: 'i18n-api' implementation name: 'mydependentjavafile.jar' apt name: 'command-processor' compileOnly group: 'org.apache.logging.log4j', name: 'log4j-core', version: "$loggerVersion" testImplementation "org.testng:testng:$testNgVersion" testImplementation name: 'bot-runtime' testImplementation name: 'bot-api' } . . .
- Ajouter de nouvelles actions au package existant
- Lorsque vous ajoutez de nouvelles actions à un package existant, veillez à procéder à un nettoyage avant toute mise en package. Une bonne pratique consiste toujours à effectuer une génération propre - gradlew.bat clean build shadowJar.
- Messages d'erreur
- Disposez de messages d'erreur significatifs.
-
Envoyez des messages d'erreur significatifs. Par exemple, dans la langue locale en utilisant les API i18n avec
BotCommandException
, lancez une nouvelle exceptionBotCommandException(MESSAGES.getString("Run.Exception.InvalidWorkingDirPath"))
. -
N'envoyez pas de messages d'erreur génériques, comme
ex.message
.
-
Envoyez des messages d'erreur significatifs. Par exemple, dans la langue locale en utilisant les API i18n avec
- Validation de base
- Utilisez les règles d'annotation de validation telles que
@NotEmpty
, incluses dans ce kit de développement. N'ajoutez pas de validations de base à votre code. Reportez-vous à la rubrique Annotations de validation. - Boucles
- Évitez les longues boucles d'exécution dans votre code. Les longues boucles d'exécution peuvent entraîner une utilisation élevée du processeur, menant à des erreurs telles que « Le robot ne répond pas ».
- Ajouter une journalisation
- Utilisez l'enregistreur par défaut log4J fourni dans le cadre de l'exécution du robot. N'ajoutez pas votre propre enregistreur. Voir l'exemple de code pour plus de détails.
- Niveaux de journalisation
-
- ERREUR/FATALE : Erreur grave : l'utilisateur est affecté et il n'y a pas de solution de contournement.
- AVERTISSEMENT : Une erreur inattendue s'est produite, mais le système s'en est remis.
- INFO : Messages d'information sur le changement d'état, par exemple, une demande acceptée.
- DÉBOGAGE : Informations de diagnostic détaillées qui seront nécessaires pour déboguer en cas de problème.
-
SUIVI : Toutes les informations sur le comportement d'une application sont saisies.
Si vous n'êtes pas sûr du niveau de journalisation, définissez-le sur SUIVI.
- Chargement des ressources
- Toutes les ressources doivent être chargées à l'aide du chargeur de classe de contexte de thread actuel, comme illustré dans l'exemple suivant :
Thread.currentThread().getContextClassLoader().getResourceAsStream("resource.json");