Pratiche di codifica standard e linee guida per lo sviluppo di pacchetti
Questo argomento tratta le pratiche di codifica standard e le linee guida che aiutano a garantire lo sviluppo di pacchetti di alta qualità.
- Analisi
- Garantire un codice di alta qualità. Scrivi test di unità e test di integrazione sufficienti per il pacchetto.
- Icone
- Impostare l'icona corretta per il pacco.
- Impostazione manuale della versione
- La versione della build del pacchetto SDK viene aggiornata automaticamente ogni volta che si verifica una build. Tuttavia, puoi impostarlo manualmente nel progetto di comando di un file build.gradle comune.
- Aggiornare il file build.gradle prima di una compilazione.
- Inserire fino a quattro cifre, separando il punto, come mostrato di seguito:
. . . ext { version '2.1.0' } dependencies {...}
- Dipendenze
- Incorpora tutte le dipendenze nel JAR del pacchetto. Carica le dipendenze in fase di esecuzione estraendole in una posizione temporanea. Assicurati di pulire la posizione temporanea dopo il caricamento delle dipendenze.
- File JAR dipendenti
- Aggiungi i file JAR dipendenti in dipendenze nel file build.gradle come implementazione in modo che i file JAR dipendenti siano compressi.
. . . 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' } . . .
- Aggiungi nuove operazioni al pacchetto in uscita
- Quando si aggiungono nuove operazioni a un pacchetto esistente, assicurarsi di eseguire la pulizia prima dell'imballaggio. È sempre una buona pratica eseguire una build pulita: gradlew.bat clean build shadowJar.
- Messaggi di errore
- Fornire messaggi di errore significativi.
- Inviare messaggi di errore significativi. Ad esempio, nella lingua locale che utilizza le API i18n con
BotCommandException(MESSAGES.getString("Run.Exception.InvalidWorkingDirPath")).
- Non generare messaggi di errore generici, ad esempio
- Inviare messaggi di errore significativi. Ad esempio, nella lingua locale che utilizza le API i18n con
- Convalida di base
- Utilizzare le regole di annotazione di convalida, ad esempio
@NotEmpty
incluse in questo kit di sviluppo. Non aggiungere convalide di base per il codice. Vedere Annotazioni di convalida. - Anelli
- Evita i lunghi loop di esecuzione nel codice. I lunghi loop in esecuzione possono causare un elevato utilizzo della CPU, causando errori come "Bot non risponde".
- Aggiungi registrazione
- Utilizza il logger log4J predefinito fornito nel framework di runtime del bot. Non aggiungere il proprio logger. Consulta il codice di esempio per i dettagli.
- Livelli di registrazione
-
- ERRORE/FATALE: Evento di errore grave che interessa l'utente e non esiste una soluzione alternativa.
- AVVISARE: Si è verificato un errore imprevisto ma il sistema è stato ripristinato.
- INFORMAZIONI: Messaggi informativi sulla modifica dello stato, ad esempio una richiesta accettata.
- DI DEBUG: Informazioni diagnostiche dettagliate che saranno necessarie per eseguire il debug in caso di problemi.
- TRACCIA: Vengono acquisite tutte le informazioni sul comportamento di un'applicazione.
Se non si è sicuri del livello di log, impostarlo su TRACE.
- Caricamento delle risorse
- Tutte le risorse devono essere caricate utilizzando il loader della classe di contesto del thread corrente, come mostrato nell'esempio seguente:
Thread.currentThread().getContextClassLoader().getResourceAsStream("resource.json");