Il y a beaucoup de points que vous devez garder à l'esprit lors de la conception d'une bibliothèque. Comme vous le ferez probablement, finirez par partager votre travail avec d'autres, il est extrêmement important de suivre des modèles de conception cohérents. Gardez à l'esprit que les autres utilisateurs auront des niveaux de compétence extrêmement variables, alors concevez une bibliothèque facile à utiliser, dans la mesure du possible.
Conseils de base
Pin Map
Fournissez une carte des broches de base que votre bibliothèque attend. Ne gardez pas le mappage des broches statique, mais permettez à l'utilisateur d'apporter des modifications facilement.
Bibliothèque de travail
L'une des premières choses que vous devriez essayer de vous assurer est que votre bibliothèque fonctionne. Si ce n'est pas le cas, indiquez-le clairement. Vous ne voudriez pas finir par perdre votre temps à essayer de travailler avec des logiciels défectueux, alors ne laissez pas les autres le faire aussi.
Fichier Readme de base
Mentionnez très clairement à quelle (s) carte (s) la bibliothèque a été conçue, sur laquelle elle a été testée et à quelle (s) carte (s) elle devrait fonctionner. Spécifiez la génération (version) de chaque carte mentionnée ici.
Interfaces
La prochaine chose est que vous devez avoir des interfaces clairement définies. Une bibliothèque de travail avec des interfaces alambiquées est frustrante. Cela vous aidera vous-même à utiliser la bibliothèque plus tard et facilitera les choses pour les autres utilisateurs. Cela devrait être l'un des aspects les plus importants à garder à l'esprit.
Que vous suiviez une approche descendante ou ascendante, les interfaces doivent toujours être claires dans votre esprit. Dans une approche ascendante, cela peut et sera difficile, mais cela ne doit pas être ignoré. Sinon, vous vous retrouverez avec une bibliothèque trop complexe qui pourrait ne pas être utilisable.
Fonctions spéciales
Si vous avez des fonctions qui utilisent certaines caractéristiques spéciales de la carte, assurez-vous de faire ressortir ces fonctions, mentionnez-les dans le fichier Lisez-moi et également dans les commentaires.
Attentes occupées
Il peut y avoir des scénarios où vous devrez peut-être utiliser une attente occupée. De telles fonctions, en fonction de la logique du programme, peuvent empêcher le flux de contrôle normal, causant ainsi des problèmes au milieu d'une tâche critique. Essayez d'utiliser des interruptions ou d'autres algorithmes, si possible. Si ce n'est pas le cas, mentionnez clairement ces fonctions.
commentaires
Assurez-vous de continuer à commenter chaque petit et grand changement que vous apportez. Écrivez de longs commentaires agréables pour toutes les fonctions critiques et plus petits pour les autres. Décrivez explicitement votre interface, chaque argument, ce qu'il fait et ce qu'il renvoie. C'est beaucoup de travail supplémentaire, mais cela sera extrêmement utile pour vous et pour les autres. Si vous avez des fonctions qui peuvent ne pas fonctionner sur différents tableaux, mentionnez-les ici. S'il s'agit de fonctions intermédiaires utilisées par d'autres fonctions et pouvant être nécessaires, mentionnez-les dans le fichier Lisezmoi.
Cohérence
Assurez-vous que tout, même les commentaires, sont cohérents dans les fichiers .h
et .cpp
.
Conservez uniquement les fonctions associées dans un seul fichier. Avoir quelques petits modules, mais logiquement cohérents, vaut mieux qu'un énorme fichier avec tout ce qu'il contient.
Conseils avancés
Fichier Lisezmoi détaillé
Écrivez un fichier lisez-moi clair décrivant la bibliothèque, ses capacités, tout problème ou bogue, et l'utilisabilité de base. Utilisez un fichier séparé pour définir et expliquer chaque interface comme décrit ci-dessus.
Structure du répertoire
Une fois que la bibliothèque devient volumineuse, il peut être nécessaire de la diviser en répertoires. Ce n'est pas facilement possible lors de l'utilisation de l' arduino-ide . Mais, si vous en êtes arrivé là, vous êtes probablement un utilisateur Arduino avancé et utilisez des outils de développement plus puissants. Sinon, c'est l'univers qui vous le dit.
Licence
Assurez-vous d'ajouter une licence.
Contrôle de version
Utilisez un outil VCS tel que Git ou SVN. Cela permettra de voir plus facilement les modifications apportées, de revenir aux anciennes versions, de détecter le code à l'origine des erreurs et même de collaborer avec d'autres.