Arduino et Raspberry Pi Débutant? Voici comment écrire un code propre

  • Joseph Goodman
  • 0
  • 4701
  • 455
Publicité

Quand vous commencez et plus sur le développement logiciel, vous rencontrez souvent la phrase “code propre”. Dans sa forme la plus pure, il s'agit d'un code facile à lire pour les autres personnes. C'est expressif et beau, et vous pouvez facilement discerner son intention simplement en en le regardant.

L'écriture de code propre est plus facile à dire qu'à faire.

Si vous êtes un Arduino Initiation à Arduino - Guide du débutant Initiation à Arduino - Guide du débutant Arduino est une plate-forme de prototypage électronique à code source ouvert basée sur du matériel et des logiciels flexibles et faciles à utiliser. Il est destiné aux artistes, concepteurs, amateurs et à toute personne intéressée par la création d'objets ou d'environnements interactifs. bricoleur, ou vous construisez Raspberry Pi Raspberry Pi: le tutoriel non officiel Raspberry Pi: le tutoriel non officiel Que vous soyez un propriétaire actuel de Pi qui souhaite en savoir plus ou un propriétaire potentiel de cet appareil de la taille d'une carte de crédit, ce n'est pas un guide que vous voulez manquer. applications avec Python, ou même un développeur Web, voici quelques conseils utiles qui faciliteront la lecture de votre code par d'autres. Voici ce que vous devez savoir.

Être cohérent

Peut-être le premier conseil, et le plus évident, est-il cohérent dans ce que vous faites Un bon exemple de ceci est de suivre les mêmes modèles pour nommer les fonctions. Les bases absolues de la programmation pour les débutants (partie 2) Les bases absolues de la programmation pour les débutants (partie 2) Dans la partie 2 de notre guide de programmation pour débutants absolus, je vais couvrant les bases des fonctions, les valeurs de retour, les boucles et les conditions. Avant d’aborder cette question, assurez-vous de lire la partie 1, où j’ai expliqué les… et les variables. Notions de base de la programmation informatique 101 - Variables et DataTypes Notions de base de la programmation informatique 101 - Variables et Types de données Après avoir introduit et parlé un peu de programmation orientée objet et d'où son nom tire son origine, j'ai pensé qu'il était temps de passer en revue les bases fondamentales de la programmation d'une manière non spécifique au langage. Ce… . Vous devriez choisir une convention de nommage et vous y tenir.

Alors, quelle convention de nommage devriez-vous utiliser?

Eh bien, si vous écrivez Python pour Raspberry Pi, la réponse est claire. La norme PEP-8 (le baromètre pour un code Python pur et propre) stipule que les noms de variables doivent être en minuscules, chaque mot étant séparé par un trait de soulignement. Par exemple: gpio_input et humidité_sensor_lecture.

Le guide de style Arduino indique implicitement que vous devez écrire vos variables dans ce qu'on appelle Camel Case. Ici, les mots ne sont séparés par rien, mais la première lettre de chaque mot est en majuscule, à l'exception du premier mot. Par exemple: boutonPresse et lecture de la température.

Il existe bien sûr d'autres styles de nommage de variables. Ce qui précède est tout simplement recommandé par les guides de style officiels. Mais quoi que vous choisissiez, assurez-vous de le respecter et utilisez la même convention de nommage tout au long de votre programme.

Écrire des commentaires significatifs

Les commentaires sont un excellent moyen d’expliquer ce que fait votre programme. Vous pouvez indiquer ce que chaque fonction fait et chaque variable représente dans vos propres mots. Cela facilite la lecture de votre code par un tiers, mais le rend également plus facile à gérer, car vous le comprenez mieux..

Mais si vous n'écrivez pas vos commentaires de manière évidente et expressive, vous ne risquez pas trop de vous embêter..

Lorsque vous écrivez des commentaires, vous devez essayer d'expliquer le pourquoi du code, en plus du comment. Essayez de clarifier l’intention et de dire quelque chose sur le code qu’il ne peut pas se dire. Donc plutôt que:

// mettre à jour la lecture

Envisagez d'écrire:

// Met à jour le nombre de fois que le faisceau laser a été interrompu, avant de le tweeter

Assurez-vous d’écrire intégralement des phrases grammaticalement correctes. En outre, le standard PEP-8 pour Python indique que vous devez toujours écrire vos commentaires et variables en anglais. Cela facilite la collaboration avec d'autres personnes si vous décidez de publier votre code en tant qu'open source, car l'anglais est à peu près la lingua franca du développement logiciel..

Le guide de style Arduino va encore plus loin et indique que vous devez commenter chaque bloc de code, chaque boucle for et chaque déclaration de variable..

Personnellement, je pense que c'est un peu extrême. Si vous écrivez des noms de variables explicites et explicites, votre code est déjà auto-documenté. Cela dit, n'hésitez pas à ajouter des commentaires là où vous pensez qu'ils sont nécessaires. Utilisez votre propre jugement.

Simplifiez votre code

Quand vous apprenez à développer pour la première fois Comment apprendre à programmer sans stresser Comment apprendre à programmer sans stressé Peut-être avez-vous décidé de vous lancer dans la programmation, que ce soit pour une carrière ou comme loisir. Génial! Mais peut-être que vous commencez à vous sentir dépassé. Pas si bien. Voici de l'aide pour faciliter votre voyage. , vous êtes souvent rempli d’un immense enthousiasme. Vous lisez tout ce que vous pouvez sur le langage, le framework ou la plateforme de votre choix. Vous commencez à rencontrer des concepts que vous n'avez jamais connus auparavant et vous êtes trop pressés de les utiliser dans votre propre code.

Des choses comme les opérateurs ternaires, qui vous permettent de condenser la logique d’un “si déclaration” comme celui-ci:

 int x = 5; si (x < 10)  y = 1;  else  y = 0;  

En une seule ligne, comme ceci:

int x = 5; int y = (x < 10) ? 1 : 0; printf("%i\n", y); 

Les opérateurs ternaires sont certainement sympas, et je vous encourage à les lire. Mais lorsque vous écrivez un code facile à lire pour les autres, il est préférable de l’éviter. Ce n'est qu'un exemple, cependant.

Le guide de style Arduino vous encourage également à éviter les pointeurs, les instructions #define et les types de données autres que les types standard: boolean, char, octet, int, unsigned int, long, unsigned long, float, double, chaîne, array et void. Vous devez éviter les types de données tels que uint8_t, car ils sont moins utilisés, ne sont pas expliqués dans la documentation et ne sont pas terriblement laconiques..

Indenter et profiter des espaces

Quand il s’agit d’écrire du code propre, les utilisateurs de Python ont un avantage, car l’interpréteur Python standard exige que tout le code doit être sensiblement structuré et en retrait. Si vous n'indentez pas après chaque déclaration de fonction et de classe et chaque instruction conditionnelle, votre programme ne s'exécutera tout simplement pas..

Sur Arduino, rien ne vous empêche d'écrire du code compact et non structuré. Ceci, en fin de compte, est difficile à lire et à maintenir.

Mais rien ne vous empêche de mieux structurer votre code, que ce soit.

Tout d’abord, déterminez combien vous allez indenter. Vous devez utiliser judicieusement la touche de tabulation, car chaque éditeur de texte traite le code ASCII différemment et si vous partagez votre code avec une autre personne, il est possible que celui-ci puisse introduire par inadvertance des incohérences dans votre indentation. Ces incohérences peuvent perturber votre programme, en particulier si vous utilisez un langage sensible aux espaces, tel que CoffeeScript. CoffeeScript sans JavaScript: JavaScript sans JavaScript Le JavaScript sans JavaScript: sans JavaScript Le JavaScript sans JavaScript n'a jamais été aussi agréable. Depuis le jour où j'ai écrit ma première ligne en l'utilisant, j'ai toujours regretté que tout ce que j'écrive apparaisse toujours comme un Jackson… ou un Python. Cet article de OpenSourceHacker explique plus en détail pourquoi la touche de tabulation doit être évitée.

J'ai tendance à utiliser quatre espaces pour chaque retrait, mais le nombre total dépend de vous. Tant que vous êtes cohérent.

Vous pouvez configurer votre IDE et votre éditeur de texte pour qu'ils traitent chaque onglet comme un nombre défini d'espaces, ce qui vous permet d'utiliser la touche de tabulation sans risque de problèmes. Si vous utilisez Sublime Text 2, consultez leur documentation officielle. Si vous utilisez Vim, éditez simplement votre .vimrc déposer avec ces lignes. L’éditeur Arduino le fait automatiquement pour vous et insère deux espaces chaque fois que vous appuyez sur la touche de tabulation..

Ensuite, vous devez simplement savoir où mettre votre code en retrait. En règle générale, vous devez toujours mettre en retrait après chaque déclaration de fonction et après chaque si, autre, pour, tandis que, commutateur, et Cas déclaration.

Beaucoup d'éditeurs ont la possibilité d'indenter des blocs de code entiers à la fois. Si vous utilisez Sublime Text 2, vous pouvez configurer un raccourci clavier ou une combinaison de touches. Sinon, vous pouvez utiliser la combinaison par défaut, qui (sous OS X) est Cmd + [. Dans l'éditeur Arduino, vous pouvez corriger l'indentation de votre fichier automatiquement en appuyant sur Ctrl + T sous Windows et Linux, et Cmd + T sur OS X.

Cela dépend entièrement de votre éditeur, donc lire le manuel!

Ne te répète pas

L’un des mantras les plus importants d’un bon développement logiciel est ne te répète pas, qui est souvent raccourci à SEC.

L'écriture de code DRY est extrêmement importante car elle garantit la cohérence de la logique de votre programme, vous permet d'effectuer un changement à la fois, de le refléter globalement et de passer moins de temps à écrire la même chose encore et encore..

La meilleure façon de rester au sec consiste à utiliser généreusement et généreusement les fonctions - encapsuler une tâche répétée avec un bloc de code que vous pouvez appeler encore et encore - et vous assurer que chaque tâche est distincte et bien écrite.

Une bonne fonction est courte; le guide PEP-8 en dit peu sur la longueur des fonctions, mais Clean Code: Un manuel de l’artisanat logiciel agile de Bob Martin (hautement recommandé) indique que “les fonctions ne devraient presque jamais être longues de 20 lignes”. De préférence, ils seraient encore plus court que ça.

Les fonctions doivent également faire exactement une chose. Besoin d'une fonction qui fait deux choses? Écrire deux fonctions.

Ces conseils permettent de suivre facilement le déroulement d'un programme et de le déboguer en cas de besoin. Il existe également un avantage supplémentaire pour les utilisateurs d’Arduino, qui sont étroitement limités par les limitations de stockage, car les redondances sont supprimées. Cela se traduit par des programmes plus petits.

Être explicite

Un autre mantra important du développement logiciel est “explicite vaut mieux qu'implicite”. Cela signifie que votre code devrait en quelque sorte crier ce qu'il fait au premier abord. Le guide de style Arduino dit que cette chose devrait être évitée:

if (buttonPressed) doQuelque chose ();  

Vous devriez plutôt rendre évident ce qui se passe. Au lieu de cela, écrivez quelque chose comme ceci:

if (buttonPressed == True) doQuelque chose ();  

Sortir et code (bien)

Écrire du code propre est étonnamment simple. Vous devez simplement être cohérent dans tout ce que vous faites, éviter les redondances et être explicite. Rappelez-vous qu'un code propre est simplement un code lisible.

Il y a beaucoup d'excellents documents à lire sur ce sujet. Le didacticiel Arduino et les guides de style API constituent un bon point de départ, suivis de la norme PEP-8 si vous créez des applications Python pour Raspberry Pi. Si vous utilisez une autre langue (comme Javascript sur le tableau Tessel. Bâtir l'Internet des objets, avec Tessel: Le conseil de développement Node.js. Construire l'Internet des objets, avec Tessel: Le Conseil de développement Node.js. Tessel est un nouveau type de carte de développement fonctionnant entièrement sur Node.js, et après le succès de Kickstarter, ils ont maintenant atteint le point d’être disponible pour tout le monde.), recherchez dans Google un guide de style officiel.

Si vous recherchez une lecture plus académique sur le sujet, consultez Clean Code: Un manuel de l'artisanat logiciel agile par Bob Martin. Je l'ai mentionné plus tôt dans cet article et il est fortement recommandé. Bien qu’il utilise Java pour illustrer des concepts, de nombreuses idées peuvent être transmises à d’autres langages, tels que Python et C pour Arduino..

Il existe également d’intéressants blogs en ligne qui illustrent comment rédiger un code propre, descriptif et de qualité. Je vous recommande de vérifier “Code propre et de haute qualité: un guide pour devenir un meilleur programmeur” par Arash Arabi écrit pour butterfly.com.au, et “Les fondements de l'écriture de code propre” par Chris Reynolds, écrit pour webdevstudios.com.

Bien que cela ne soit pas explicitement lié au code propre, il est également utile de connaître les fonctions et les bibliothèques à éviter dans la langue de votre choix. Par exemple, si vous apprenez PHP, vous devriez éviter les “mysql” Si vous construisez des produits physiques avec Arduino, vous ne devriez jamais utiliser la fonction Retarder la fonction Retarder Arduino et pourquoi vous ne devriez pas l'utiliser. La fonction Retarder Arduino et pourquoi vous ne devriez pas l'utiliser Pendant que delay () est pratique pour des démonstrations de base du fonctionnement d’Arduino, vous ne devriez vraiment pas l’utiliser dans le monde réel. Voici pourquoi et ce que vous devriez utiliser à la place. .

N'oubliez pas qu'un code plus facile à lire est plus facile à gérer. De plus, si vous êtes coincé avec quelque chose, il est plus facile pour quelqu'un de le lire et de vous aider.

Avez-vous des conseils pour écrire du code propre? Est-ce que j'ai manqué quelque chose? Dîtes-moi! Laissez-moi un commentaire ci-dessous, et laissez-moi savoir.

Crédits photos: Lit sec (Premasagar), Petite clé TAB (Kai Hendry), 2015 (Wikilogia)




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.