Vive la programmation spontanée !
Cela fait des années que je pratique la programmation spontanée et cela me convient parfaitement.
Pour pratiquer ce genre de programmation, il faut disposer des outils adéquats, c'est-à-dire à la fois du bon langage et des bonnes bibliothèques. Pour ma part, j'utilise C++ comme langage et pour ce qui est des bibliothèques, comme je n'en ai trouvée aucune qui me convenait, je les ai conçus moi-même. Grâce à ces outils, écrire un programme consiste simplement à écrire les différents algorithmes mis en oeuvre directement dans mon éditeur, sans passer par l'étape papier. Dés lors, les commentaires deviennent superflus, puisque la correspondance entre lignes de codes et algorithmes mis en oeuvre est directe, et donc n'a pas à être précisé par un commentaire. Si, malgré cela, des commentaires sont nécessaires, c'est que l'algorithme en lui-même pose problème, et non pas son implémentation.
Les seuls cas ou je recours à des commentaires (ou du moins le devrais), c'est pour du code rendu incompréhensible suite à une optimisation, ou du code dépendant du système utilisé, comme pour la programmation des sockets, ou encore du multitâche, entre autres.
Bien sûr, il arrive parfois que j'ai du mal à comprendre mon propre code, mais cela ne me pousse pas pour autant à remettre en question ma manière de programmer (notamment en ce qui concerne l'absence de commentaires). Pour moi, cela signifie simplement que l'algorithme implémenté n'est pas bon, et ce qui me paraît alors obscure dans mon code me met généralement sur la piste d'un nouvel algorithme qui clarifie le code incriminé.
Mais cela m'arrive rarement de ne plus comprendre mon propre code, car, au moment même ou je l'écris, je le sens s'il risque de me poser ce genre de problème. Même si je le laisse à ce moment là en place, et même s'il est entièrement satisfaisant par ailleurs, ça ne cessera pas de me turlupiner jusqu'à ce que je trouve (cela prend des semaines parfois) et mets en place un autre algorithme qui me satisfasse.
Encore une fois, cette manière de procéder n'est possible qu'avec les outils adéquats mais également une grande discipline. A titre d'exemple, il n'y a pour ainsi dire pas de boucles 'for' dans mes sources, et je déporte tout groupe d'instructions pour lesquelles cela a un sens dans une fonction dédiée ce qui me contraint, et ce n'est pas toujours évident, à trouver des noms de fonctions explicites, et n'est-ce pas là, après tout, l'équivalent des commentaires qui devrait accompagner ces instructions si je les avais laissées dans la fonction appelante ? Cela facilite la lecture des fonctions que j'écris, puisque qu'elles ne comportent chacune que relativement peu d'instructions.
Puisqu'une comparaison a été faite entre musique et informatique, étant moi-même musicien et compositeur durant mes loisirs, je me permet d'en toucher quelques mots. Bien plus que les aspects purement techniques des programmes que j'écris, c'est la cohérence, l'harmonie, la beauté serais-je tenté de dire qui s'en dégagent du fait des algorithmes utilisés et de leurs enchaînements qui m'apportent le plus de satisfaction. Ce que je ressens en écrivant un logiciel dont je suis satisfait est comparable à ce que je ressens lorsque je compose une oeuvre musicale et constitue la principale motivation du fait que je m'adonne à ces deux activités. Et, comme vous pourrez le constater en vérifiant la date à laquelle il a été posté, ce message a été écris la veille du nouvel an, et je ne suis donc pas (encore) sous l'influence de substances plus ou moins licites, comme pourraient peut-être le penser certaines personnes à la lecture de ce dernier paragraphe (ou de ceux qui précèdent) ...
Re: Vive la programmation spontanée !
Citation:
Envoyé par epeios
Et, comme vous pourrez le constater en vérifiant la date à laquelle il a été posté, ce message a été écris la veille du nouvel an, et je ne suis donc pas (encore) sous l'influence de substances plus ou moins licites, comme pourraient peut-être le penser certaines personnes à la lecture de ce dernier paragraphe (ou de ceux qui précèdent) ...
moi aussi !
non je tenais juste à préciser moi aussi c'est important :D