IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

Quels sont les pires noms de variables que vous avez déjà vus ?


Sujet :

Débats sur le développement - Le Best Of

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut Quels sont les pires noms de variables que vous avez déjà vus ?
    Quels sont les pires noms de variables que vous avez déjà vus ?
    Un développeur identifie les deux plus mauvais noms de variables couramment utilisés dans le code


    Un problème auquel est continuellement confronté le développeur dans son activité est l’attribution des noms aux variables.

    Afin de faciliter la lisibilité et la compréhension du code, le programmeur opte le plus souvent pour des variables suffisamment descriptives ou se reporte à des conventions de nommage.

    ANDY Lester, un développeur senior se penche dans un billet de blog sur les noms attribués aux variables et présente selon lui les deux pires noms qui sont constamment utilisés par les développeurs pour qualifier les variables.

    La pire dénomination qu’un développeur peut donner à une variable est selon Lester le nom « data ».

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $data = read_record();
    print "ID = ", $data["CUSTOMER_ID"];

    « Bien sûr il y a des données ! C’est ce que contiennent les variables » écrit Lester, qui ironise par la suite. « C’est comme si vous emballez vos biens dans des cartons de déménagement et vous les étiquetez le carton des matières ».

    Pour ANDY Lester, les noms des variables doivent dire quel type de données est manipulé.

    En seconde position, l’utilisation des chiffres pour distinguer les variables. Exemple : data2.


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $total = $price * $qty;
    $total2 = $total - $discount;
    $total2 += $total2 * $taxrate;
     
    $total3 = $purchase_order_value + $available_credit;
    if ( $total2 < $total3 ) {
        print "You can't afford this order.";
    }

    N’importe quelle variable qui s’appuie sur un chiffre pour se distinguer d’une autre doit être immédiatement renommée. Le véritable assassin dans le code ci-dessus selon Lester est la ligne « if ($ total2 <$ total3) » qui obliger à remonter plus haut pour l’interpréter.

    Ce ne sont là que deux exemples sur de mauvais noms de variables qui sont utilisés par les développeurs.



    Source : Blog ANDY Lester


    Et vous ?

    Avez-vous déjà utilisé ces noms pour vos variables ?

    Quels autres pires noms de variables avez-vous déjà vus ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Membre très actif Avatar de elmcherqui
    Profil pro
    Inscrit en
    Février 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2008
    Messages : 281
    Par défaut
    On a tous nommé nos variables quand on a debuté le dev jusqu'a ce qu'on comprenne que ce n'etait pas comme les maths ( a , b , c , x ... ) et pour vraiment comprendre les degats de ce genre de nomoclature je conseil

    http://www.pearson.fr/livre/?GCOI=27440100643800

    version francaise de clean code

    Une Perle , et je vous assure qu'apres avoir lu le livre votre vision des variable aura changé

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 62
    Par défaut
    Pour ma part, un ancien développeur nommer toutes ces variables en mettant toto...

    Par exemple tabtotot, toto, toto1, toto4...

    L'angoisse quand j'ai vue le code la première fois...

    J'espère une chose, c'est qu'il a complètement changé d'orientation professionnelle. Je sais je suis méchant, mais à cause de lui j'ai connu l'enfer !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 41
    Par défaut
    Il n'y a pas trop longtemps, j'ai vu dans un projet open source (TUIOdroid), énormément de variables d'une seule lettre, c'est vraiment une horreur quand on rencontre une variable qui s'appelle : c, d, a ...

    Un petit extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    cw = getWidth();
    ch = getHeight();
    
    bx = cw/2 - backgroundImage.getWidth()/2;
    by = ch/2 - backgroundImage.getHeight()/2;
    
    Canvas c = getHolder().lockCanvas();
                    
    if (c != null) {
         c.drawColor(Color.WHITE);
         c.drawBitmap(backgroundImage,bx,by,null);
    C'était le 1er travail que j'ai eu pour mon 1er emploi, ça m'a vraiment fait peur pour la suite, mais je suis jamais retomber sur un autre cas extrême comme celui là.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 319
    Par défaut
    Les variables de quelques lettres (voire une seule) me rappelle surtout de la décompilation ...
    Ceci dit, si quelqu'un est capable de coder en nommant tel que décrit par "webpsi", c'est que la personne a loupé des cours de programmation

    Pour revenir sur la première critique de Lester, il arrive que je nomme une variable "data" lorsque par exemple je ne connais pas d'avance ce que je trouverais dans cette case ... en l'occurrence, lorsque je lisais des cases d'Excel. Je ne sais pas si c'est forcément justifié, mais je n'avais pas trouvé comment nommer mieux cette variable qui récupérait directement la valeur de la case.

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Pour les boucles, l'emploi d'itérateurs nommés avec une seule lettre (au hasard "i", "j", "k") relève quasi de la convention d'écriture.

    Je m'étais donc fait "plaisir" en les bapisant "irene", "julie" et "katia" -ce qui était en même temps, un clin d'oeil à des stagiaires de la boîte.

    Mais j'ai trouvé ça bcp moins fun quand ma hiérarchie a inspecté mon code

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 32
    Par défaut
    Citation Envoyé par djinneo Voir le message
    Pour les boucles, l'emploi d'itérateurs nommés avec une seule lettre (au hasard "i", "j", "k") relève quasi de la convention d'écriture.

    Je m'étais donc fait "plaisir" en les bapisant "irene", "julie" et "katia" -ce qui était en même temps, un clin d'oeil à des stagiaires de la boîte.

    Mais j'ai trouvé ça bcp moins fun quand ma hiérarchie a inspecté mon code
    Boudiou c'était donc toi !!

    En ce qui me concerne, le pire a été pendant une mission "an 2000" pour certifier un programme cobol (qui a dit "le vieux") dont tous les noms de variables et de paragraphes étaient des prénoms de filles.

    Ben pour trouver que Justine et Agathe étaient des dates, mais pas Christine ni Gisèle ça ne fut point simple du tout.

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    Citation Envoyé par webpsi Voir le message
    Il n'y a pas trop longtemps, j'ai vu dans un projet open source (TUIOdroid), énormément de variables d'une seule lettre, c'est vraiment une horreur quand on rencontre une variable qui s'appelle : c, d, a ...

    Un petit extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    cw = getWidth();
    ch = getHeight();
    
    bx = cw/2 - backgroundImage.getWidth()/2;
    by = ch/2 - backgroundImage.getHeight()/2;
    
    Canvas c = getHolder().lockCanvas();
                    
    if (c != null) {
         c.drawColor(Color.WHITE);
         c.drawBitmap(backgroundImage,bx,by,null);
    C'était le 1er travail que j'ai eu pour mon 1er emploi, ça m'a vraiment fait peur pour la suite, mais je suis jamais retomber sur un autre cas extrême comme celui là.
    Ok le nom des variables est court (dans ton exemple) mais c'est pas trop compliqué de comprendre que x et y font référence à des coordonnées, que w et h sont la dimension, que c correspond au canvas et que b correspond au backgroundImage. Après si le code fait 300 lignes je veux bien croire que ça deviennent compliqué mais si la variable est utilisé au maximum 20 ligne après sa déclaration ça devrait aller.
    De la à appeler ça un cas extrême, ça voit que tu n'est pas tombé sur du code en notation hongroise (genre arpszTableau pour un tableau de pointeurs de chaînes de caractères) qui a peut-être un intérêt dans les langages au typage implicite mais en Java ??

    Citation Envoyé par Hinault Romaric Voir le message
    En seconde position, l’utilisation des chiffres pour distinguer les variables. Exemple : data2.


    Code php :
    Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9

    $total = $price * $qty; $total2 = $total - $discount; $total2 += $total2 * $taxrate; $total3 = $purchase_order_value + $available_credit; if ( $total2 < $total3 ) { print "You can't afford this order."; }


    N’importe quelle variable qui s’appuie sur un chiffre pour se distinguer d’une autre doit être immédiatement renommée. Le véritable assassin dans le code ci-dessus selon Lester est la ligne « if ($ total2 <$ total3) » qui obliger à remonter plus haut pour l’interpréter.

    Ce ne sont la que deux exemples sur de mauvais noms de variables qui sont utilisés par les développeurs.
    Je ne suis pas sur de comprendre le problème (mais je ne suis pas un expert PHP). Ici le problème est lié au faite que l’interpréteur va mettre plus de temps à déterminer de quelle variable on parle ? Dans ce cas là, je pense que le problème vient plus de l'interpréteur que du développeur. Quand à l'utilisation de variable au nom sans réelle sémantique comme total1 et/ou total2, il arrive que certain résultat intermédiaire de calcul n'ai pas vraiment sens. Auquel cas appeler une variable "dd" (ou toto) ne me gène absolument pas.

    Dans l'ensemble j'avoue que j'ai tendance à utiliser de nom de variable à rallonge du type trucQuiFaitMachineDansTelContext c'est long mais au moins on comprend à quoi elle sert et avec les IDE, la longueur de la variable n'importe plus vraiment.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 41
    Par défaut
    Dans le projet que j'ai cité au dessus, il y avais 2 problème : le même que le "problème data" de l'article, ex : h c'est la hauteur, mais de quoi ???, il faut donc remonter le code jusqu'à trouver ce que l'on veux.

    L'autre problème est que l'on ne sait pas l'utilité de la variable, le canvas à été utiliser pour afficher du texte informatif sur une image, comment on sait que "c" est censé afficher si le serveur est en ligne et notre adresse IP ?!?

    C'était surtout utilisé dans des fonctions, ce qui peut énormément géner quand on utilise une fonction et que l'on voit 2 lettres comme argument, on est obliger de lire le contenu de la fonction pour savoir quoi mettre.

    Même si je sais qu'il y a pire, je n'appelle pas ça un code fait par un informaticien (ce qui n'est peut être pas le cas pour ce projet).

    PS : dans ce projet j'ai aussi vu du copier-coller de fonctions statiques

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Par défaut
    Concrètement, dès que l'on commence à avoir moultes variables (fonctions mathématiques, physiques, etc.) on se retrouve avec des choses telles que (par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     int mandel(double px, double py) {
        double zx = 0.0, zy = 0.0;
        double zx2 = 0.0, zy2 = 0.0;
        int value = 0;
        while (value < MAX && zx2 + zy2 < 4.0) {
          zy = 2.0 * zx * zy + py;
          zx = zx2 - zy2 + px;
          zx2 = zx * zx;
          zy2 = zy * zy;
          value++;
        }
        return value;
      }
    Qui n'est vous en conviendrez, succint mais pas des plus lisible.
    Pour ce qui est de la lisibilité, des "vrais exemples de best practices" sont introduit dans l'ouvrage de Robert C. Martin cité précédement par elmcherqui : Clean Coding (Coder Proprement) que je recommande vivement à tout développeur (les exemples sont malheureusement seulement en java...) un tant soit peu consciencieux.

    Pour les boucles, l'emploi d'itérateurs nommés avec une seule lettre (au hasard "i", "j", "k") relève quasi de la convention d'écriture.
    Oui mais il ya du pour et du contre dans le leur utilisation tel que. D'aucuns disent qu'une syntaxe telle que celle ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	for (int fruitNumber = 0; fruitNumber < fruits.size(); fruitNumber++) {
    			if (fruits.get(fruitNumber).isBanana()) {
    				// What to do with bananas
    			}
    		}
    bien que plus verbeuse est à préférer à quelquechose de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i=0;i < f.size(); i++) {
    			if (f.get(i).isB()) {
    				// What to do with bananas
    			}
    		}

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 842
    Par défaut
    Citation Envoyé par ProgVal Voir le message
    Je n'ai pas d'autocomplétion (Python + Vim), et ça ne m'empêche pas d'utiliser parfois des noms qui font plus de dix, voire quinze caractères.
    Hum... CTRL+N sur vim pour auto-compléter un nom de symbol local. Sinon je crois qu'il y a un autre artifice, avec les ctags. Bon , je peux me planter, je suis pas expert vim, mais ça marche en c++.

    Citation Envoyé par nu_tango Voir le message
    Concrètement, dès que l'on commence à avoir moultes variables (fonctions mathématiques, physiques, etc.) on se retrouve avec des choses telles que (par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     int mandel(double px, double py) {
        double zx = 0.0, zy = 0.0;
        double zx2 = 0.0, zy2 = 0.0;
        int value = 0;
        while (value < MAX && zx2 + zy2 < 4.0) {
          zy = 2.0 * zx * zy + py;
          zx = zx2 - zy2 + px;
          zx2 = zx * zx;
          zy2 = zy * zy;
          value++;
        }
        return value;
      }
    Qui n'est vous en conviendrez, succint mais pas des plus lisible.
    Pour ce qui est de la lisibilité, des "vrais exemples de best practices" sont introduit dans l'ouvrage de Robert C. Martin cité précédement par elmcherqui : Clean Coding (Coder Proprement) que je recommande vivement à tout développeur (les exemples sont malheureusement seulement en java...) un tant soit peu consciencieux.



    Oui mais il ya du pour et du contre dans le leur utilisation tel que. D'aucuns disent qu'une syntaxe telle que celle ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	for (int fruitNumber = 0; fruitNumber < fruits.size(); fruitNumber++) {
    			if (fruits.get(fruitNumber).isBanana()) {
    				// What to do with bananas
    			}
    		}
    bien que plus verbeuse est à préférer à quelquechose de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i=0;i < f.size(); i++) {
    			if (f.get(i).isB()) {
    				// What to do with bananas
    			}
    		}
    Dans ton cas, il aurait suffit que "f" ait été nommé "fruits" pour que le code soit lisible. Et même plus que le 1er.
    D'ailleurs, je ne sais pas de quel langage tu parles, mais pour java il y a des for_each, et pour c++, des algo qui font la même chose (le for_each d'avant C++11 est immonde imho, et je ne considère donc que le C++03 ici).

    D'ailleurs, en C++ ça aurait plus donné ceci dans ma convention perso:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef FruitIter vector<Fruit>::iterator ;
    for (FruitIter it=fruit.begin();it < fruit.end(); ++it)
    {
      if(it->isBanana())
      {
          // What to do with bananas
      }
    }
    Bon, sans find_if, évidemment. Mais la on a juste la variable de boucle qui n'a pas de vrai nom, et pourtant, je pense que ça reste très lisible. Peut-être même plus que ton 1er exemple (j'imagine que ça peut dépendre des gens)

    Et en 2011 (qui ne fait que rattraper d'autres langages), ça aurait fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(auto &i: fruit)
    {
      if(i.isBanana())
      {
        //...
      }
    }
    La, je trouve que ça ne souffre plus la comparaison. D'autant que le i est communément utilisé.

  12. #12
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Citation Envoyé par nu_tango Voir le message
    fonctions mathématiques
    j'ai lu hier:
    si "z" est le rayon d'une pizza et "a" son épaisseur, alors son volume est donné par: Pi*z*z*a

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 56
    Par défaut
    Avez-vous déjà utilisé ces noms pour vos variables ?
    Ouais quand j'etais debutant, en bts alternance. Je vais debugger du code VBA et ajouter des fonctionnalites. Comme je voyait des variables genre total1, total 2 ben j'enchainais avec total3 etc ...

    A l'epoque je croyais que c'etait un truc bien, etant donnee que mon maitre de stage le faisait !

    Quels autres pires noms de variables avez-vous déjà vus ?
    D'apres mes souvenirs, toujours dans cette boite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int test;
    int a;
    int b;
    int c;
    ...
    int v;
    
    int romain = 0;
    String chaine;

  14. #14
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 3
    Par défaut
    Dans le genre pas mal, les mecs qui codent en français:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function ChangeMagasinDirectement_chargee(response) {
            var maDonnee = JSON.parse(response.d);
            fermerPopupConfirmationChangementMagasin();
            document.location.href = maDonnee.monUrlAChanger;
        }
        
        //Pour afficher les services disponibles dans la commune
        function ObtenirInformationsServicesCommune_chargee(response) {
            var maDonnee = JSON.parse(response.d);
            
            (maDonnee.nbPointsRetrait > 0) ? $(".prRetraitDispoCommune").show() : $(".prRetraitDispoCommune").hide();
            (maDonnee.nbLivraison > 0) ? $(".livDispoCommune").show() : $(".livDispoCommune").hide();
            (maDonnee.nbDrive > 0) ?  $(".driveDispoCommune").show() :  $(".driveDispoCommune").hide();
            (maDonnee.nbRetrait > 0) ? $(".RetraitDispoCommune").show() : $(".RetraitDispoCommune").hide();
        }
    http://www.expressmarche.com

  15. #15
    Membre extrêmement actif Avatar de air-dex
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 712
    Par défaut
    Citation Envoyé par befalimpertinent Voir le message
    Je rejoins ce qui disent que les pires sont les variables d'un seul caractère. J'ai même parfois vu des choses du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int a;//age du capitaine
    Mais Bo*$€|_ ! Pourquoi ne pas avoir écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int age_du_capitaine;
    Pour les noms de variables assez courts, est-ce que cela ne remonte pas à une époque où les développeurs n'avaient pas d'autocomplétion et où ces derniers avaient autre chose à faire que de finir d'écrire des noms de variables à rallonge ? Tout le monde n'a pas toujours eu un Ctrl+Espace pour finir de taper un nom d'une variable.

    Citation Envoyé par rOnnie974 Voir le message
    Dans le genre pas mal, les mecs qui codent en français:
    Pas forcément d'accord. "Coder systématiquement en anglais parce que c'est comme ça" n'est pas forcément une bonne pratique. À mon avis le choix de la "langue de développement" dépend aussi de celles des développeurs derrière leur code. Est-ce un crime que de coder en français un programme dont on sait pertinemment qu'il ne sera jamais regardé par des personnes non francophones (comme un programme fait par et pour soi-même par exemple) ? Je ne le pense pas, bien au contraire.

    Pour moi la langue d'un programme devrait être avant tout la langue (maternelle) des développeurs qui ont affaire au code. Et ils ne sont pas toujours tous forcément anglais.

  16. #16
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut
    Citation Envoyé par air-dex Voir le message
    Pour les noms de variables assez courts, est-ce que cela ne remonte pas à une époque où les développeurs n'avaient pas d'autocomplétion et où ces derniers avaient autre chose à faire que de finir d'écrire des noms de variables à rallonge ? Tout le monde n'a pas toujours eu un Ctrl+Espace pour finir de taper un nom d'une variable.
    Je n'ai pas d'autocomplétion (Python + Vim), et ça ne m'empêche pas d'utiliser parfois des noms qui font plus de dix, voire quinze caractères.

  17. #17
    Membre Expert Avatar de LooserBoy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 1 085
    Par défaut
    Citation Envoyé par air-dex Voir le message
    Pas forcément d'accord. "Coder systématiquement en anglais parce que c'est comme ça" n'est pas forcément une bonne pratique. À mon avis le choix de la "langue de développement" dépend aussi de celles des développeurs derrière leur code. Est-ce un crime que de coder en français un programme dont on sait pertinemment qu'il ne sera jamais regardé par des personnes non francophones (comme un programme fait par et pour soi-même par exemple) ? Je ne le pense pas, bien au contraire.

    Pour moi la langue d'un programme devrait être avant tout la langue (maternelle) des développeurs qui ont affaire au code. Et ils ne sont pas toujours tous forcément anglais.
    Je dois être bizarre car même à titre personnel, dans un passé pas si lointain (j'ai arrêté, ma psychothérapie a fonctionné ), je codais en anglais. C'est probablement par la force des habitudes ou le fait que l'anglais soit ma deuxième langue, après le français, apprise très jeune et qui, par conséquent, ne me pose strictement aucun problème.

  18. #18
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Par défaut
    Vaste débat, si j'en crois le nombre de pages par jour... Et qui, comme la plupart des vastes débats du domaine informatique (et de tout autre domaine d'ailleurs) fait ressortir un certain nombre de règles ou de pratiques conseillées et pas toujours respectées, et aussi beaucoup de "clochers" qui défendent leur religion becs-et-ongles.
    Ce qui me parait souhaitable, c'est que le code soit lisible. Pas uniquement par celui qui l'écrit, mais aussi par ceux qui corrigeront ensuite. Pas du tout par le client, à moins qu'il entre dans une des 2 catégories. Et "lisible", ça ne veut pas dire la même chose pour tout le monde :
    • avec des noms de variable (peut-être longs) significatifs ? Du genre "maCommande", "nombreClients", etc.
    • avec des noms de variables "classiques" ? Du genre i, j, k dans les boucles.
    • avec des noms de variables "surchargés" par tout un tas de préfixes de types, de genre etc.
    • avec des noms de variables dans la langue des lecteurs.
    • etc.
    Citation Envoyé par air-dex Voir le message
    "Coder systématiquement en anglais parce que c'est comme ça" n'est pas forcément une bonne pratique. [...] Pour moi la langue d'un programme devrait être avant tout la langue (maternelle) des développeurs qui ont affaire au code. Et ils ne sont pas toujours tous forcément anglais.
    +1
    Citation Envoyé par alexdmi024 Voir le message
    J'ai travaillé avec un collègue qui accentuait les nom de variable. Que du bonheur!!!
    Et... ? L'UTF8, c'est pas que pour faire de l'ASCII-7bits !

  19. #19
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par Thorna Voir le message
    Et... ? L'UTF8, c'est pas que pour faire de l'ASCII-7bits !
    ...et avec les langages dynamiques ne nécessitant pas de déclaration des variables avant leur initialisation, utiliser par erreur « facturé » à un endroit du code et « facture » à un autre pour désigner la même variable est facile et est la garantie d'une joyeuse séance de débogage.

    A l'œil il est plus facile de repérer une erreur typographique comme l'oubli ou l'ajout d'une lettre qu'une erreur d'accent.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  20. #20
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 83
    Par défaut
    Sous un autre point de vue, des noms de variables pourris, confusant, c'est bon pour la sécurité => plus besoin d'obfusquer le code s'il est déjà illisible par ses propres développeurs

Discussions similaires

  1. JO de Sotchi : quels sont les pires commentateurs ?
    Par Bovino dans le forum Sports
    Réponses: 3
    Dernier message: 21/02/2014, 14h51
  2. Quel est le pire bout de code que vous ayez jamais écrit ?
    Par Gordon Fowler dans le forum Débats sur le développement - Le Best Of
    Réponses: 61
    Dernier message: 31/10/2011, 12h18
  3. Modélisation : quels sont les livres que vous recommandez ?
    Par TheLeadingEdge dans le forum Modélisation
    Réponses: 3
    Dernier message: 26/08/2008, 09h11
  4. Réponses: 70
    Dernier message: 23/08/2007, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo