Soutenez-nous

Quel est le meilleur conseil quand on programme ?

Les rubriques (actu, forums, tutos) de Développez
Réseaux sociaux


 Discussion forum

Le , par mitkl, Rédacteur
Le site Internet InformIT est un train de réaliser une série intéressante d'articles basée sur le même thème : Quel est le meilleur conseil que vous ayez reçu ?

Ainsi, plusieurs experts venant de différents horizons ont été conviés à répondre à cette question, voici un rapide résumé :

  • Erik Buck Erik Buck est un développeur iOS auteur de quelques livres sur ce domaine. Pour lui, le meilleur conseil tient en trois mots : "write less code" ou "Écrire moins de code" pour rendre une source plus simple et plus facile à maintenir.
  • Obie Fernandez Obie Fernandez est un développeur de Ruby et Ruby On Rails et auteur aussi de livres sur ces deux technologies. Son conseil : toujours prendre le temps de réfléchir quand on a une erreur avant de rajouter du code supplémentaire.
  • Danny Kalev Danny Kalev est un développeur C++ expérimenté, il est auteur de livre et a aussi participé au comité de standardisation du C++. Pour Danny Kalev, il faut lire des livres, lire des magazines, apprendre encore et toujours de nouvelles techniques. Il conclut avec cette phrase : "read much more than you write" ou "Lisez plus que vous ne codez".
  • Eric Lippert Eric Lippert est un développeur C# qui a travaillé chez Microsoft. Son avis : pour devenir meilleur, participer sur des forums ou des groupes de discussions en aidant ceux qui ont des questions, si vous avez la réponse, dites là, si vous ne l'avez pas, rechercher sa réponse sur Internet.
  • Mark Summerfield Mark Summerfield est un développeur et a écrit un livre sur le langage Go. Il n'a pas un mais deux conseils à adresser. Le premier : refactoriser son code rejoignant un peu l'idée d'Erik Buck de rendre le code plus facile à comprendre et donc à maintenir. Le deuxième : écrire des tests unitaires pour son code avant de l'intégrer au projet.
  • Bill Wagner Bill Wagner est auteur de livre sur le langage C#. Son conseil : d'abord rendre son code fonctionnel avant de vouloir l'améliorer ! Ça peut paraitre stupide mais il faut toujours garder cela en tête !


Source : The Best Programming Advice I Ever Got

Et vous ?

Avec qui êtes-vous le plus d'accord ?
Quel est le meilleur conseil que vous ayez reçu ?
Pour vous, quel est le meilleur conseil que l'on peut donner ?


 Poster une réponse

Avatar de moldavi moldavi
Membre Expert
le 19/08/2013 21:50
Bonjour.

Citation Envoyé par mitkl  Voir le message
Avec qui êtes-vous le plus d'accord ?

Avec tous.

Citation Envoyé par mitkl  Voir le message
"write less code"

Moins il y a de ligne de code, plus c'est facile à lire/comprendre (logique de base). Il faut toujours se demander, lorsque l'on sent que son code est compliqué : "comment pourrai-je simplifier ce code tout en restant facilement lisible/compréhensible... Et le faire. C'est très bon pour la maintenance, et souvent pour l'optimisation.

Citation Envoyé par mitkl  Voir le message
toujours prendre le temps de réfléchir quand on a une erreur avant de rajouter du code supplémentaire.

Je l'ai souvent observé. Lorsque j'ai une erreur, je code rapidement dans une direction qui, quand ce n'est pas la bonne, me fait regretter de ne pas avoir sauvegardé une version d'avant les modifications. Cela n'arrive presque plus...

Citation Envoyé par mitkl  Voir le message
"read much more than you write"

Le fait de beaucoup lire, c'est le fait de savoir ce qui existe, ce qui se fait. Si votre mémoire est bonne, face à un problème, vous pourrez utilisez ce que vous avez déjà lu pour résoudre ce problème efficacement. Souvent.

Citation Envoyé par mitkl  Voir le message
pour devenir meilleur, participer sur des forums ou des groupes de discussions en aidant ceux qui ont des questions, si vous avez la réponse, dites là, si vous ne l'avez pas, rechercher sa réponse sur Internet.

Cela permet de faire des recherches sur des questions que vous ne vous êtes jamais posées. Mais un jour, peut-être, ces questions se poseront à vous, et vous permettrons de résoudre un problème plus rapidement.

Citation Envoyé par mitkl  Voir le message
refactoriser son code

Cela rejoint beaucoup "write less code".

Citation Envoyé par mitkl  Voir le message
écrire des tests unitaires pour son code avant de l'intégrer au projet

Lorsque l'on ne maîtrise pas certaines fonctionnalités, c'est bien de faire des tests à part. Histoire de bien comprendre le comportemment d'une fonctionnalité. C'est plus simple et plus efficace que dans un programme complet.

Citation Envoyé par mitkl  Voir le message
d'abord rendre son code fonctionnel avant de vouloir l'améliorer !

Celui-là est plus difficile à comprendre sans avoir pratiqué. Mais cela rejoint beaucoup l'adage qui consiste à optimiser en fin de développement, et non au début.
On doit être certain que le programme fonctionne correctement avant de l'optimiser. L'inverse est souvent moins vrai.
Avatar de mlebeguec mlebeguec
Membre confirmé
le 20/08/2013 14:27
Bonjour à tous,

Ce que je conseille en général:

1_ bien comprendre le besoin final

2_ réfléchir

3_ écrire les commentaires du code

4_ coder

Natso.
Avatar de tsarison tsarison
Invité de passage
le 25/09/2013 15:09
je crois que le conseil de Bill Wagner est le meilleur. Rendre d'abord le code fonctionnel avant l'amélioration continue.
Avatar de Loceka Loceka
Expert Confirmé
le 02/10/2013 10:45
Citation Envoyé par mitkl  Voir le message
Pour vous, quel est le meilleur conseil que l'on peut donner ?

Moi je reprendrais le conseil de Solo (Han) : Coder l'air décontracté

Sinon, un conseil qui ne revient pas assez souvent : ne jamais coder fatigué !
Avatar de DonQuiche DonQuiche
Expert Confirmé
le 05/10/2013 10:52
Le meilleur conseil que j'ai reçu ?
Premature optimization is the root of all evil.

Pendant plusieurs années j'ai ridiculement cherché (et de façon contre-productive bien sûr) à écrire du code performant. Un jour j'ai compris que tout ça n'avait aucun importance, qu'il fallait seulement chercher à écrire un "bon" code (lisible, élégant, maintenable, concis, etc), que l'optimisation viendrait à la fin en s'appuyant sur des mesures.

Et mes programmes ne sont pas moins rapides : soit ils le sont dans des proportions indécelables, soit ils sont plus rapides parce qu'un code propre est plus facile à modifier une fois arrivé au stade final où l'on a les métriques sur lesquelles appuyer son optimisation.
Avatar de Ceddoc Ceddoc
Membre chevronné
le 07/10/2013 15:49
Citation Envoyé par Loceka  Voir le message
Sinon, un conseil qui ne revient pas assez souvent : ne jamais coder fatigué !

C'est en parfaite contradiction avec ce qu'explique Swizec Teller

D'après lui :
La deuxième raison évoquée est beaucoup plus originale. Pour Swizec, « être fatigués nous fait mieux coder ».

Contrairement aux idées reçues, la journée et un cerveau en pleine possession de ses moyens n’aideraient pas à faire un travail soigné. Ils amèneraient plutôt au multitâche et à la dissipation.

Etre fatigué serait donc beaucoup plus productif « parce que quand votre cerveau est fatigué il doit se concentrer ! Il n’a pas assez d’énergie pour se permettre de perdre la moindre miette de concentration […] Avec un esprit un peu vanné je peux coder pendant des heures et des heures sans même penser à vérifier mon Twitter ou mon Facebook ». Un phénomène paradoxale que l’on retrouverait, d’après lui et de manière peu scientifique, dans le fait de programmer dans un état de légère ébriété.

J'avoue que je ne sais pas si je suis d'accord, j'ai tendance, au contraire, à être encore plus facilement distrait quand je suis crevé.
Avatar de ODehel ODehel
Futur Membre du Club
le 08/10/2013 11:41
Personnellement, une période de fatigue me fait produire plus de bugs que d'habitude. La fatigue du cerveau, ça empêche quand même d'être parfois lucide.
Avatar de Amedo1 Amedo1
Invité de passage
le 22/03/2014 22:17
Le plus censé est celui de Wagner: il faut d'abord programmer et tester la fonctionnalité avant de faire les détails.
Avatar de foetus foetus
Membre habitué
le 30/03/2014 20:59
Je dirais "savoir écrire du code, ce qui s’acquiert au moins par de l'expérience et en utilisant un Coding Style [même personnel]"

Ceci permet de ne pas réfléchir sur "est-ce qu'il faut écrire un commentaire ou pas?", "est-ce que mon code est lisible ou pas?", "est-ce que mon code est maintenable ou pas?"
Parce qu'un programmeur qui passera derrière toi devra comprendre ton code et aura toujours des questions à poser [ou alors tu as codé comme un dieu ]

Le conseil "écrire le moins de code possible" est possible, mais cela passe par du refactoring.
Et comme on dit: "Le plus difficile c'est de faire simple"

Et enfin, le conseil "Bien réfléchir avant de coder", je dirais que cela dépend de ton application, et à quel moment tu interviens.
Parce que des fois, il ne faut pas 100 ans pour mettre sur pied un algo et faire son intégration.
Par contre ce qui demande le plus de réflexion et des tests, c'est la logique générale - la colonne vertébrale de l’application.
Par exemple, l'enchainement des écrans, l'appel des fonctionnalités, l'architecture client-serveur, etc...

Ensuite, c'est comme "une boule de neige qui dévale une piste": ton logiciel grossit au fur et à mesure.
Chaqu'à ce qu'une fonctionnalité demande plus d'intégration ou voire pire nécessite un refactoring

D'ailleurs le conseil de Bill Wagner je le comprends comme cela: "même si ton application n'est pas complète, il faut quand même que toutes les fonctionnalités présentes soient fonctionnelles, c'est à dire, bien intégrées, ne plantent pas et fassent ce qu'elles sont censées faire"
Avatar de Omega xis Omega xis
Invité de passage
le 22/04/2014 17:59
Ne pas coder en étant fatigué ^^, il arrive que je pense à quelque chose, et j'écris autre chose !
Offres d'emploi IT
Ingénieur Développeur Androïd (H/F)
CDI
Atos Technology Services - Ile de France - Bezons (95870)
Parue le 05/04/2014
Développeur JAVA/EE, Java FX ou SWING
CDI
Easy Partner - Ile de France - 92
Parue le 09/04/2014
Ingénieur JAVA SMALLTALK (H/F)
CDI
Atos Technology Services - Centre - Tours (37000)
Parue le 04/04/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula