|
Publicité ' | ||||||||||||||||||||||||
|
|
#161 | ||||
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 187 ![]() |
Difficile dans l'absolu de dire qu'un nom de variable est mauvais !
Tout dépend aussi de la portée de la variable, je suis plutôt POO donc locale, membre d'instance, membre de classe, et parfois globale Le thème de la fonction, sa complexité (si tu as 2-3 variables, un nom très court ça peu se comprendre, si tu en as 26 évidemment A..Z c'est pas terrible) On voit cela souvent avec le SQL, les alias de table pour raccourcir la requête avec T1 à T10, hyper lisible ! Toto, un classique pour tester un code vite fait, comme Foo Bar ! Une fois que l'on sait bien utiliser la fonction, on refait au propre ! non ? Moi, j'adore les fautes d'orthographe comme requette Après, tu te traines ça comme nom de variable un peu partout ! Pratique lorsque tu cherche un truc, et qu'il y a pas une seule fois la même chose Req, Requete, Rqt, ... Pour ma part, j'essaye d'avoir des fonctions assez courte et des variables nommées à part i pour mes for Dès que j'ai deux compteurs imbriqués (assez rare), je le nomme plus longuement pour ne pas les confondre ! J'ai aussi un cartouche de documentation J'évite des variables au nom trop court (même si cela peut rendre le code plus concis), j'ai souvent vu des variables comme _t pointant sur l'objet global Translator ! personnellement, je ne suis pas fan ! Typique aussi avec des MACRO Pour les préfixes façon notation hongroise, je les réserve aux appels des API Windows, tout simplement parce que j'utilise les noms des paramètres de la fonction et donc que je ne les invente pas ! En général, en Delphi\C++Buider, je respecte juste T pour Type (C pour une classe C++ pure et non Delphiesque) A comme Arguments pour un paramètre de fonction, F pour Field indiquant un membre privé\protégé équivalent au m_ C'est la convention historique de Borland Delphi Je n'en vois pas d'autre Pour mes objets, j'ai la tendance à être très verbeux, tout le monde n'aime pas comme TShaiORPersistentClassMetaDataItem, TShaiHardwareProviderAbstractPersistentObject ou un des mes derniers TShaiCameraActionByComputerItemList. Shai étant en réalité, le nom du projet ou de la lib interne l'ancien programmeur était plus concis TObjetItem, TPlan, TLstItems en même temps, le code n'était pas très POO, au grand max 30 classes dans tout le projet, j'ai du en écrire 300 de plus ![]() J'ai plein de petite classe avec une tache bien précise, je découpe beaucoup, et donc il faut trouver beaucoup de nom, parfois j'ai peu de mal, j'ai même abusé Je fais aussi du Franglais !TFacture.GetClient ou TFacture.GetLigneDeCommande, au lieu de GetCustomer ou Get... je sais pas comment on dit Ligne de Commande d'une Facture en anglais ? TBill.GetDetailOrder ??? Manque de vocabulaire, et après, si personne ne comprend ou que moi-même, j'oublie, c'est une perte de temps de traduire ! Quand tu n'as pas de spécifications, pas de règle de codage, et une transmission à 99% oral, c'est un sport d'avoir un code métier lisible et compréhensible subissant les changements de besoins et de fonctionnalités en cours de développement ![]() Alors si on en plus on se permet de délire comme ce qui suit. Donc, le pire, mais aussi le plus drôle (l'auteur ne supportait plus le projet ni la responsable, sa petite vengeance). Extrait d'un code dont j'ai subi la maintenance par la suite : Code pascal :
Voilà, des jeux de mots avec le vocabulaire SQL et des références à des films ! Ou ce code qui exprime de la mauvaise humeur du même développeur Code pascal :
J'avoue, j'ai récemment aussi fait une référence à un jeu vidéo de MegaDrive : Code :
bool TShaiCameraRecordingByDirect::AddExtraTime(TSeconds ATimeBonus = -1); // Tribute to Wiz 'n' Liz !
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
||||
|
|
10
|
|
|
#162 |
|
Nouveau Membre du Club
![]() Julien Étudiant Inscription : mai 2012 Messages : 32 ![]() |
Le pire est lorsque tu te retrouves avec une tonne de variable (je parles du VB.NET) qui sont pas changées (TextBox34) et ça peut allé très loin ...
Je ne dirais pas que c'est moi Je trouve ça horrible mais je continu ...
|
|
|
01
|
|
|
#163 |
|
Membre éclairé
![]() Inscription : avril 2004 Messages : 391 ![]() |
Pour ma part, le pire que j'ai vu est un nom de variable utilisé un peu partout dans les tests unitaires de mon projet : $res !
Comme son nom l'indique : une variable utilisée pour stocker les résultats d'une méthode testée. Aucune idée sur le type de résultat retourné, sur le cas testé ou autre. J'ai eu beau me battre pour que ce genre de variable disparaisse et pourtant il est toujours autant utilisé |
|
|
13
|
|
|
#164 | |
|
Membre Expert
![]() Artisan du code Inscription : août 2010 Messages : 785 ![]() |
Citation:
__________________
"Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain Mon client Twitter Qt cross-platform Windows, Linux et Symbian^3 (en cours de développement). |
|
|
50
|
|
|
#165 | ||
|
Membre régulier
![]() Inscription : avril 2009 Messages : 30 ![]() |
Le pire que j'ai fait, à un prof que j'aimais pas !
Code java :
![]() PS : c'est une factorielle volontairement compliquée |
||
|
|
03
|
|
|
#166 |
|
Membre émérite
![]() ![]() Inscription : juillet 2006 Messages : 1 331 ![]() |
Mieux vaut parfois imposer au (re)lecteur de remonter dans le code que de perdre du temps à rédiger des variables dont les noms chambouleraient la remise du prix Goncourt.
|
|
|
20
|
|
|
#167 | |
|
Membre émérite
![]() |
Citation:
__________________
Il ne faut pas oublier que la politesse et le respect sont mutuels. Mon framework Web haute performance : |
|
|
01
|
|
|
#168 | |
|
Expert Confirmé Sénior
![]() Inscription : janvier 2007 Messages : 9 572 ![]() |
Citation:
Si le nom de la fonction est clair, il est alors totalement compréhensible dans tous les cas d'appeler "res" le retour, si on ne s'en sert que là.. C'est sûr que si on a "res1", "res2, .. res100", là c'est une faute grave.. et impossible à lire...
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle". Consultant indépendant. Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie. C, Fortran, XWindow/Motif, Java Je ne réponds pas aux MP techniques |
|
|
|
00
|
|
|
#169 | |
|
Membre régulier
![]() Inscription : octobre 2004 Messages : 66 ![]() |
Citation:
|
|
|
|
10
|
|
|
#170 | |||||||
|
Membre émérite
![]() |
Si, parce que dans la conversation, des personnes parlaient du fait qu'en fonction du type intrinsèque de la variable, le nom pouvait être explicite (intXXX = entier, strXXX = chaine etc), alors qu'en Php comme c'est faiblement typé, ce principe ne s'applique plus, donc tu ne peux pas faire (intRetour = entier, strRetour = chaine etc), ce qui pourrait être un indice supplémentaire pour aider à comprendre.
Citation:
- une variable nommée "$result" ; - tes fonctions sont courtes. Alors, tu sais que c'est là que sera forcément le résultat de retour. Le nom de la fonction doit suffire à lui tout seul. Exemples concrets (pris de deux fichiers différents) : Code :
Code :
Code :
Et là vraiment, vraiment... si la personne ne comprend pas à quoi sert "$retour", là, je ne peux vraiment plus rien...
__________________
Il ne faut pas oublier que la politesse et le respect sont mutuels. Mon framework Web haute performance : |
|||||||
|
20
|
|
|
#171 | |
|
Membre régulier
![]() Inscription : octobre 2004 Messages : 66 ![]() |
Citation:
- le nom de tes fonctions est précis et compréhensible |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com