Gilliek
20mai/111

Les regles d’or du developpeur debutant

En lisant cet article de Developpez.com ça me donne envie de réagir ... et je vais donc réagir ! :-)

Pour résumer l'article, c'est le développeur Paul Vick qui énonce les 7 règles d'or du programmeur débutant.

Prenons ces règles une par une :

Règle numéro 1, le programmeur débutant ne doit pas écrire de longues procédures. Une procédure ne devrait pas avoir plus de dix ou douze lignes de code.

Déjà, je pense que ça dépend du langage. On ne peut pas espérer des procédures de même taille en Ruby qu'en C. En C, je dirai que ça tourne plus autour de 24 lignes (cf. Style Coding du Kernel Linux). Mais après, ça dépend de la situation ... D'autant plus si on applique une gestion d'erreurs rigoureuse ...

Deux, chaque procédure doit avoir un objectif clair. Un bon programme doit avoir des procédures claires, sans cumul.

Je suis d'accord là-dessus.

Trois, les programmeurs débutants ne doivent pas utiliser les fonctions fantaisistes du langage. Pour Paul Vick, il est mal pour un débutant d'utiliser autre chose que des déclarations de variables, les appels de procédures, des opérateurs (arithmétiques, comparaisons, etc.) et les fonctions de contrôle de flux. Selon lui, l'utilisation des fonctions simples oblige à réfléchir à ce que l'on écrit.

Je pense au contraire qu'un développeur débutant doit "s'amuser" à utiliser les fonctions du langage. Bien entendu, au début de son apprentissage, il doit veiller à bien connaître et manipuler les structures conditionnelles, les boucles, les types, ... toussa quoi. Mais il faut bien qu'un jour il apprenne à utiliser les fonctions "fantaisistes" du langage ... quoi de mieux que la pratique pour apprendre ?

Règle numéro quatre, ne jamais utiliser les fonctionnalités du langage dont vous n'êtes pas sûr(e) du résultat ou du rôle. Une règle d'or indépassable pour Paul Vick, qui estime que si elle n'est pas respectée par un débutant, il devrait purement et simplement changer de métier

Là encore : il faut tester. Pas sûr du résultat ? Alors hop un petit programme de test pour y voir plus clair ! C'est pas en tournant le dos à tous ce qu'on ne comprend pas qu'on deviendra un "bon" développeur ...

Règle numéro cinq, les débutants doivent à tout prix éviter le copier/coller. Sauf, évidemment, s'ils veulent copier le code d'un programme qu'ils ont écrit.

Je suis assez d'accord. Mais en revanche je pense qu'il est très instructif pour un débutant de s'inspirer de code existants.  En effet, voir un code fait par un développeur avancé peut être instructif. Concernant le copier/coller, je serai un peu pus stricte en évitant de copier/coller son propre code (sauf dans un cas trivial et redondant). A force de tout taper, la syntaxe du langage rentrera plus facilement.

Six, le débutant doit éviter l'abstrait, et toujours opter pour le concret.

Je suis tout à fait d'accord là-dessus. Si le débutant reste trop dans l'abstrait, il va vite se sentir perdu ... et ça devient très décourageant pour lui ...

Et enfin la règle numéro sept : applique les six règles ci-dessus chaque jour pendant au moins six mois.

Alors ça c'est de la règle ! :-) ça ressemble plus à une conclusion qu'à une règle à part entière. En plus, je pense que le temps d'apprentissage d'un langage dépend de la personne. Personnellement, je n'ai jamais eu besoin de 6 mois pour apprendre les bases d'un langage ... (et même pour les mécanismes avancés de ce langage d'ailleurs ...).

Comme c'est présenté, ça fait un peu recette miracle, mais au final,  selon moi, suivre ces règles ne fera pas d'un débutant autre chose qu'un ... débutant. Faire des if/for et print "Hello, World" pendant 6 mois est complètement inutile ! C'est en explorant les "profondeurs" d'un langages qu'on apprend vraiment. Et puis, pour bien apprendre, il me semble important que la période d'apprentissage soit intéressant, attractive. Si on fait la même chose pendant 6 mois, on sera vite dégoûté.

L'article de Developpez.com se conclut comme suit : "Et pourrait même permettre, conclut-il avec humour, de se débarrasser des mauvaises habitudes acquises à l'Université. "

Sur ce point je suis d'accord. Dans les Universités (je ne veux pas généraliser hein :-) , mais je parle selon mon expérience), on apprend pas les bonnes pratiques de programmation ou si on les apprend, ce n'est que trop tard.  C'est fort regrettable. D'un autre côté, avec le nombre impressionnant de de ressources sur Internet et dans les livres (électronique ou papier), l'étudiant peut (et devrait selon moi) apprendre par lui-même et profiter de la mine de savoir auquel on accès de nos jours.

Je rajouterai pour finir, que Paul Vick a omis un élément très important : la documentation du code. Il faut prendre l'habitude de bien documenter son code dès le début. Par exemple, faire de bons commentaires, c'est-à-dire ne pas paraphraser le code mais expliquer ce qu'il fait. Ca évite bien des problèmes de maintenabilité ...

Commentaires (1) Trackbacks (0)
  1. Plutôt d’accord avec toi: ces règles n’ont aucun sens!!

    Ce que je conseillerais au débutant, c’est plutôt d’aller regarder du code. C’est un des énormes avantage apporté par les logiciels libres!
    Commencer par comprendre des scripts simples puis se pencher sur des applications plus conséquentes, etc.


Leave a comment

(required)

Aucun trackbacks pour l'instant