2.6. Méthodologie

2.6.1. Organisation

En programmation comme en toute chose que l’on crée de manière raisonnée, il peut être nécessaire d’agir avec méthode et rigueur, pour de multiples raisons : éviter de se disperser, gagner du temps, travailler efficacement…

Ainsi il convient d’adopter des conventions lors de l’écriture du code : elles permettent de s’y retrouver plus aisément lorsque l’on revient sur notre code plusieurs mois plus tard, d’adopter un style homogène lorsque plusieurs personnes travaillent sur un même projet (et ainsi de faciliter l’insertion des arrivants)… La communauté Python a d’ailleurs établi ses propres conventions (voir la section Conventions et style).

De même, il est important d’ajouter de nombreux commentaires pour accompagner le code, et ce pour plusieurs raisons :

  • cela facilite la compréhension du code par les autres membres du projet ;
  • cela permet de reprendre plus aisément un code mis de côté quelques temps.

2.6.2. Erreurs

Il est dit qu’un programmeur passe la majorité de son temps non pas à écrire du code, mais à le débugger. Il est possible de réduire ce temps en étant rigoureux, mais aussi en sachant adopter le bon comportement.

Ainsi, il est important de savoir analyser et comprendre les erreurs qui surviennent lors de l’exécution d’un programme (et en cela Python est d’une grande aide), la manière la plus triviale étant de comprendre le mode de fonctionnement interne du langage (sa logique) et a fortiori les détails de l’algorithme utilisé (car un code qui fonctionne un temps sans que l’on ne comprenne pourquoi sera très difficile à corriger si cela devient nécessaire). La programmation demande donc, plus que de la rigueur, de la logique ; pour rappel, l’algorithmique relève des mathématiques. Pour cette même raison il est déconseillé de recopier un code trouvé quelque part et l’utiliser tel quel (attention, je ne parle pas des modules, qui sont eux créés dans cette optique).

2.6.3. Recherche

La programmation consiste en un véritable travail de recherche : recherche des erreurs, dans la documentation, sur internet… Il s’agit d’un élément au coeur de tout projet, nécessaire pour mener à bien ce dernier.

Le premier aspect de la recherche est la découverte de ce qui provoque des bugs, via différentes méthodes.

De plus, il est généralement fortement déconseillé de chercher à apprendre par coeur plus que les bases du langage — car la logique importe bien plus, comme je l’expliquais au-dessus — et, ce faisant, il devient primordial de savoir trouver efficacement les informations que l’on cherche (aussi bien pour réparer un bug que pour explorer un point spécifique du langage ou encore ne pas “réinventer la roue” [1]).

Je recommande vivement à chaque programmeur, même débutant, d’avoir sous la main la documentation (que ce soit site internet ou fichier…) du langage concerné ainsi que celle des extensions les plus utilisées. Souvent, un index ainsi qu’une table des matières détaillées permettent de trouver facilement ce que l’on cherche dans tel ou tel domaine.

Il est aussi important de savoir chercher les informations sur internet (et pour cela connaitre les fonctionnements des moteurs de recherche) lorsque les informations sont insuffisantes dans la documentation.

Enfin, il est toujours de bon gout d’expérimenter, c’est à dire ne pas hésiter à modifier les exemples proposés, observer ce qu’ils donnent et, dès que le résultat n’est pas celui escompté, rechercher pourquoi et comment corriger le problème.

Footnotes

[1]“Not Invented Here”, NIH, en anglais

2.6.4. Autres conseils

Il est toujours conseillé de réfléchir à notre programme : savoir ce qu’il doit faire, comment, etc., et de ne pas se lancer directement dans la programmation. Cela permet d’avoir une idée d’ensemble du programme et de mieux le construire, comme je le conseillais dans la première section.

De plus, il est important de prévoir tout ce qui peut arriver dans un programme, et de traiter tous les cas imaginables, même les plus improbables, afin de ne pas avoir de surprises (par exemple, il est conseillé de toujours prévoir un choix par défaut lorsque l’on demande quelque chose à l’utilisateur). C’est d’ailleurs pour cette raison qu’il est recommandé de tester les programmes, afin de découvrir des comportements étranges.

Table des matières

Sujet précédent

2.5. Concepts

Sujet suivant

3. Le langage

Cette page