Publicité
+ Répondre à la discussion Actualité déjà publiée
Page 2 sur 9 PremièrePremière 123456 ... DernièreDernière
Affichage des résultats 21 à 40 sur 171
  1. #21
    Membre chevronné
    Avatar de ProgVal
    Homme Profil pro Valentin Lorentz
    Étudiant
    Inscrit en
    mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Nom : Homme Valentin Lorentz
    Âge : 20
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2006
    Messages : 636
    Points : 655
    Points
    655

    Par défaut

    Une fois, on m'a demandé de déboguer un code, avec une classe dont tous les accesseurs étaient nommés toString(), toString1(), toString2(), ..., toString23().


    Dans le sujet de mon dernier DM d'info, les noms de fonctions et de variable traitant de listes semblaient utiliser au hasard "lst", "list", "liste", "lists", et "listes".

  2. #22
    Expert Confirmé
    Avatar de Pill_S
    Homme Profil pro Séb Piller
    Consultant informatique
    Inscrit en
    janvier 2004
    Messages
    1 830
    Détails du profil
    Informations personnelles :
    Nom : Homme Séb Piller
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2004
    Messages : 1 830
    Points : 2 586
    Points
    2 586

    Par défaut

    Je ne suis pas de l'avis de M. Lester.... Les noms de variables volontairement "obfusqués" peuvent être utiles. Pour ma part, j'opère un distingo en fonction de la portée d'une variable.

    Tout ce qui est local, est volontairement "mal nommé", quelques lettres tout au plus, et des chiffres pourquoi pas. Cela car la durée de vie de ces variables étant très limitée, leur donner un nom bien choisi relève de l'overkill, et tend à indiquer qu'elle a une certaine importance ou dissipation dans le programme, alors que ce n'est pas le cas.

    Tout ce qui peut "déborder" hors du block/méthode courant (surtout les champs finalement...) possède un nom nettement mieux réfléchi (mais sans préfixe de type ou autre notation hongroise, car je fais du java et que les outils sont suffisament puissants pour qu'on n'ait pas besoin de tels artifices).

    Du coup c'est clair, les petits noms font partie de l'implémentation du bout de code local, le reste a une durée de vie bien plus longue... Un petit commentaire si vraiment l'implém est compliquée, et encore, et aucune fonction ne dépassant 100 lignes et c'est dans la boite, coco!

    Ne renonce jamais

  3. #23
    Membre Expert Avatar de air-dex
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    1 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 1 026
    Points : 1 949
    Points
    1 949

    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 :
    1
    2
    int a;//age du capitaine
    Mais Bo*$€|_ ! Pourquoi ne pas avoir écrit:
    Code :
    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.
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  4. #24
    Membre régulier
    Inscrit en
    mai 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 27
    Points : 73
    Points
    73

    Par défaut

    Histoire de rendre plus gaie mon job, j'ai appelé une méthode "PutChildInDaHouse" (cela concerne les assurances habitations).

    Sinon, je suis classique avec les var cpt, compteur ... etc etc.

  5. #25
    Nouveau Membre du Club
    Inscrit en
    février 2011
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 53
    Points : 29
    Points
    29

    Par défaut

    ben justement le probleme est que cette équipe peut partir et laisser le projet à d'autres développeurs. On sait jamais!

  6. #26
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    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 : 133
    Points : 375
    Points
    375

    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 :
    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 :
    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 :
    1
    2
    3
    4
    5
    6
    for (int i=0;i < f.size(); i++) {
    			if (f.get(i).isB()) {
    				// What to do with bananas
    			}
    		}

  7. #27
    Membre chevronné
    Avatar de ProgVal
    Homme Profil pro Valentin Lorentz
    Étudiant
    Inscrit en
    mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Nom : Homme Valentin Lorentz
    Âge : 20
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2006
    Messages : 636
    Points : 655
    Points
    655

    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.

  8. #28
    Expert Confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2008
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : décembre 2008
    Messages : 804
    Points : 2 517
    Points
    2 517

    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 :
    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 :
    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 :
    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 :
    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 :
    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é.

  9. #29
    Membre Expert Avatar de LooserBoy
    Homme Profil pro Alexis Lechevalier
    Ingénieur développement logiciels
    Inscrit en
    février 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexis Lechevalier
    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 082
    Points : 1 733
    Points
    1 733

    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.
    Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse"
    - Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent...

  10. #30
    Membre du 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
    Points : 47
    Points
    47

    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

  11. #31
    Membre chevronné
    Avatar de ProgVal
    Homme Profil pro Valentin Lorentz
    Étudiant
    Inscrit en
    mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Nom : Homme Valentin Lorentz
    Âge : 20
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2006
    Messages : 636
    Points : 655
    Points
    655

    Par défaut

    Citation Envoyé par Freem Voir le message
    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++.
    Excellent, merci

    Même si ça ne peut pas être parfait pour un langage dynamique, ça reste très utile dans 95% des cas.

  12. #32
    Membre émérite Avatar de atha2
    Homme Profil pro Gabriel VIOT
    Ingénieur développement logiciels
    Inscrit en
    janvier 2007
    Messages
    613
    Détails du profil
    Informations personnelles :
    Nom : Homme Gabriel VIOT
    Âge : 27
    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 : 613
    Points : 845
    Points
    845

    Par défaut

    Citation Envoyé par Freem Voir le message
    Et en 2011 (qui ne fait que rattraper d'autres langages), ça aurait fait ceci:
    Code :
    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é.
    i est communément utilisé en tant que variable représentants un indice. Ici i est un éléments de la liste fruit, j'aurai donc plutôt tendance à l'appeler e (pour élément) ou f ou même fruit (en renommant fruit par fruitS).

  13. #33
    Membre émérite
    Inscrit en
    janvier 2006
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 967
    Points : 816
    Points
    816

    Par défaut

    Classique mais efficace, les variables de debug $foo, $bar, $foobar, $barbar qui restent pour une appli en prod.
    Evidemment, le combo avec $foo1 est accepté.
    La variable $tableau est courante aussi.

  14. #34
    Expert Confirmé Sénior Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    3 027
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 3 027
    Points : 5 829
    Points
    5 829

    Par défaut

    Comme toujours tout dépends du contexte. Par exemple dans une méthode write(char[] data, int offset, int length) je ne vois pas en quoi l'usage de data ne serait pas adapté.

    De même, je ne voit pas vraiment de souci non plus à nommer des index qui ne servent qu'à faire une simple itération : "i", "j", "k". Quant à utiliser x et y pour une abscisse est une ordonnée, c'est juste du bon sens tant qu'on en manipule qu'une paire...

    J'ai rarement de problème avec les nom de variables dans les langages comme le C++/Java/... qui font que les variables ont le plus souvent des portées plutôt réduites.
    J'ai l'impression que c'est un problème plus caractéristique de langagues comme le VB ou le JavaScript qui même s'il ont des systèmes pour réduire la portée me donnent l'impression d'encourager a avoir des variables avec de longues portées.

  15. #35
    Membre Expert
    Avatar de la.lune
    Homme Profil pro Bilal Soidik
    Ingénieur développement logiciels
    Inscrit en
    décembre 2010
    Messages
    505
    Détails du profil
    Informations personnelles :
    Nom : Homme Bilal Soidik
    Localisation : Comores

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

    Informations forums :
    Inscription : décembre 2010
    Messages : 505
    Points : 1 698
    Points
    1 698

    Par défaut

    En tout pour des programme de calcul intense surtout en programmation parallèle ou vectoriel la longueur de la variable n'est pas quelque chose à négliger, ça se voit considérablement dans le temps de l’exécution, ce qui fait que dans ces cas vaut mieux des variable plus courtes comme des variables mathématiques .

    D'où que je rejoint l'idée selon laquelle ça dépend du contexte.

  16. #36
    Nouveau Membre du Club

    Inscrit en
    septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 5
    Points : 37
    Points
    37

    Par défaut

    un de mes collègues avait pris l'habitude d'appeler ses variables t, tt, ttt, tttt, ttttt... c'était la grosse déprime quand il fallait passer derrière lui...

  17. #37
    Membre éclairé
    Inscrit en
    octobre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : octobre 2007
    Messages : 209
    Points : 398
    Points
    398

    Par défaut

    Citation Envoyé par atha2 Voir le message
    i est communément utilisé en tant que variable représentants un indice. Ici i est un éléments de la liste fruit, j'aurai donc plutôt tendance à l'appeler e (pour élément) ou f ou même fruit (en renommant fruit par fruitS).
    +1 !

    j'écris toujours "for (Fruit fruit : fruits) { ... }"

  18. #38
    Membre du Club
    Inscrit en
    novembre 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : novembre 2003
    Messages : 39
    Points : 48
    Points
    48

    Par défaut

    Au taf, je rigole parfois en voyant des :
    Sinon à l'inverse ceux qui sont un peu trop dans leur trip :
    Code :
    boolean est_la_valeur_entre_10_et_20 = ;

  19. #39
    Expert Confirmé
    Avatar de kolodz
    Homme Profil pro Patrick Kolodziejczyk
    Développeur informatique
    Inscrit en
    avril 2008
    Messages
    772
    Détails du profil
    Informations personnelles :
    Nom : Homme Patrick Kolodziejczyk
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : avril 2008
    Messages : 772
    Points : 2 506
    Points
    2 506

    Par défaut

    Citation Envoyé par Hinault Romaric Voir le message
    ....
    N’importe quelle variable qui s’appuie sur un chiffre pour se distinguer d’une autre doit être immédiatement renommée.
    ....
    Quand tu manipule l'enfant 3 et que tu veux que ça soit l'enfant 3 et pas 2 ni 4 du couple... Tu le distingue avec un chiffre.

    Citation Envoyé par Hinault Romaric Voir le message
    Avez-vous déjà utilisé ces noms pour vos variables ?
    Oui, de manière exceptionnelle.
    Citation Envoyé par Hinault Romaric Voir le message
    Quels autres pires noms de variables avez-vous déjà vus ?
    Non de variable dans une classe :
    a b x y p
    (5 variables classes sans commentaire)
    N'oubliez pas de marquer vos discussions
    Si une réponse vous a été utile pensez à voter Pour
    Pensez à la javadoc

  20. #40
    Expert Confirmé
    Avatar de kolodz
    Homme Profil pro Patrick Kolodziejczyk
    Développeur informatique
    Inscrit en
    avril 2008
    Messages
    772
    Détails du profil
    Informations personnelles :
    Nom : Homme Patrick Kolodziejczyk
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : avril 2008
    Messages : 772
    Points : 2 506
    Points
    2 506

    Par défaut

    Citation Envoyé par kolodz Voir le message
    Quand tu manipule l'enfant 3 et que tu veux que ça soit l'enfant 3 et pas 2 ni 4 du couple... Tu le distingue avec un chiffre.


    Oui, de manière exceptionnelle.

    Nom de variable dans une classe :
    a b x y p
    (5 variables classes sans commentaire)
    N'oubliez pas de marquer vos discussions
    Si une réponse vous a été utile pensez à voter Pour
    Pensez à la javadoc

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •