Pratiques et directives de codage standard pour le développement de packages

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 exception BotCommandException(MESSAGES.getString("Run.Exception.InvalidWorkingDirPath")).
  • N'envoyez pas de messages d'erreur génériques, comme ex.message.
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");