Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
Au niveau pédagogique rien de tel que le célèbre
Pour la POO c'est le top
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Classe maclasse = new Classe()
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
Utiliser i pour une variable dont l'usage se limite à la boucle dont elle est l'indice d'itération n'est en rien catastrophique...
Ce qui m'interpelle plus dans ton exemple, c'est le 10. 10 quoi ? Et pourquoi pas 20, 30, 50 ou encore 43597 ? A la lecture de ce code, on ne sait pas si cette valeur de 10 reflète une contrainte technique, un choix arbitraire du développeur ou encore une spécification du cahier des charges.
Remplacer le cardinal 10 par un nom de constante explicite indiquant à quoi il correspond me semble plus profitable pour le lecteur que de s'acharner sur ce pauvre i...
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
J'ai travaillé avec un collègue qui accentuait les nom de variable.
Que du bonheur!!!
Pour les noms à rallonge, tant qu'ils ont du sens, ça passe. Avant la mise en production on peux toujours appliquer un compresseur donc ça n'est pas un problème. (YUI compressor pour javascript par exemple).
Dans le sens inverse c'est bien plus compliqué. Après appeler "data" une variable qui n'est utilisée que dans la fonction, dans un contexte bien précis donné par le dossier ou le fichier où se trouve le code, je ne trouve pas ça très embêtant.
Enfin, les pires horreurs restent xxxx1, xxxx2, xxxx3, xxxx4 ... Si il y a autant de variables qui se ressemblent, pourquoi ne pas utiliser une liste ou un tableau (surtout que c'est compilé plus ou moins de la même façon) ? Et si il n'y a pas lieu de faire des tableaux, ça veux dire que les variables sont bien différentes ... En bref, mis à part des mathématiciens qui eux jouent avec leurs formules, ça ne devrait jamais se retrouver dans un code.
Et oui je donne un passe droit aux mathématiciens car il s'agit de leurs outils aussi sur leurs notes. Je me sentirais mal de dire qu'ils font du mauvais boulot dans leur propre domaine de compétence
en VB, j'ai du reprendre des codes ou les variables étaient toutes des lettres, parfois doublées, et le comble du comble : réutilisées pour différents types, et différants traitements, au sein de la même fonction :
exemple :
a = 1
aa = 2
b = a + aa
msgbox b
a = "tout "
b = "fini !"
bb = a & b
msgbox bb
j'ai aussi eu droit aux variables accentuées (par mon boss).
Dans mon ancienne entreprise, en Providex (vous pouvez chercher, c'est pas courant), je me suis retrouvé face à une tambouille mélangeant des variables nommées A, B, C, .... et ce jusqu'à des variables genre B2, C3, qui en plus changeaient d'utilité PENDANT le processus (genre B2 stockait le total, puis d'un coup il stock complètement autre chose), et pour couronner le tout, avec des GOTO partout et sans commentaire ou saut de ligne.
Quand un bug survenait sur cette partie du logiciel (car heureusement ça ne concernait pas la totalité), même les anciens rechignaient à mettre le nez dedans....
Salut,
J'ai du intervenir sur une base de données filemaker pour un organisme de formations et les champs s'appelaient:
eid, ee, eee pour les champs concernant les élèves, fid, ff, fff pour les formations et du même style pour tout le reste.
Fred
Le pire auquel j'ai eu droit :
la variable tamere, définie comme un short, et aussi à benhur définie en tant que char.
L'humour c'est bien, mais quand le résultat ne marche pas, ça fait beaucoup moins rire !
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
Le must, c'est quand même d'utiliser « $__ », « $___ » ou « $____ » comme noms de variables. Si possible dans une même fonction.
« C’est comme si vous emballez vos biens dans des cartons de déménagement et vous les étiquetez le carton des matières ».
Qu'est-ce que c'est que ce charabia ? La traduction automatique a encore des progrès à faire...
Dans les tables DB2 de mon entreprise, les noms de colonnes sont limités à 8 caractères.
Les noms étant repris dans les programmes, il faut parfois bien s'accrocher.
Par exemple, la variable "TEXCSRAP" ...
Bonjour à tous,
Personnellement, au boulot j'ai vu des trucs sympas :
sur une application d'une banque française publique dont je n'ai pas le droit de citer le nom :
laVariable c'est déjà suspect mais ce le fut encore plus quand j'ai découvert dans un commentaire : "20020321 - DDA/FFT 2147 - modification etc" ... il s'agissait des initiales du codeur qui effectuait la maintenance sur cette application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Type laVariableADDA;
Un peu dans le même registre : un fenêtre pour avertir d'un plantage : le titre de la fenêtre était "Un homme à bord" et dans une autre qui suit "Attention chef, ça glisse !"
Très marrant mais bon les infos pas top pour débugger
PS :
je suis en train de me faire une petite convention de nommage pour mes variables, paramètre, types énumérés etc, qui reprend les base du CamelCase et qui en plus décrit le plus précisément possible de quel type de donné il s'agit (dans le cadre d'un projet). Je suis donc venu sur ce site pour voir si des discussions tournaient autour de ce sujet, et je suis tombé sur ce topic fort intéressant (et poêlant ). Mon problème c'est que je veux absolument savoir le type exact de la variable que je manipule juste dans le nom et ça donne grosomodo :
Ne soyez pas trop dur avec moi ce n'est qu'une phase de recherche
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29 /*Données membres : variable : variable variable constante : Cvariable pointeur sur variable : p_variable pointeur sur variable constante : p_Cvariable pointeur constant sur variable : Cp_variable pointeur constant sur variable constante : Cp_Cvariable référence sur pointeur sur variable : r_p_variable référence sur pointeur sur variable constante : r_p_Cvariable référence sur pointeur constant sur variable : r_Cp_variable référence sur pointeur constant sur variable constante : r_Cp_Cvariable référence constante sur pointeur sur variable : Cr_p_variable référence constante sur pointeur sur variable constante : Cr_p_Cvariable référence constante sur pointeur constant sur variable : Cr_Cp_variable référence constante sur poniteur constant sur variable constante : Cr_Cp_Cvariable variable locale ou temporaire : concaténer un "l" avec les règles de la partie "Données membre" paramètre de méthodes : concaténer un "P" avec les règles de la partie "Données membre" exemples d'utilisation dans un contexte d'une méthode d'une classe :*/ void Character::UpdateLife( const type* Pp_ClifeToSubstract ) { type* lp_lifeToSubstract = new type(); *lp_lifeToSubstract = *Pp_Cvariable; DoSeomething(lp_variable); p_Cvariable = *lp_variable; }
je trouve en tout cas que cela devient vraiment moche dans les cas les plus extrêmes...qu'en pensez vous ?
Nullius in verba
Dans ma mission actuelle, j'ai la même chose pour des raisons "historiques".
Comme si on était obligés de continuer de se trainer ces vieux codes à la con ...
Sinon j'ai aussi des booleens stockés en base sous la forme de String où true = "S", false = "D" et null = "F" ... -_-"
Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.
le mot variable est peut-être mal choisi (porte à confusion en tout cas) mais remplace le par donnée membre si tu veux. Ou imagine une variable devenant temporairement constante (on n'a plus le droit de la modifier) pendant un certain temps (le temps d'une fonction par exemple) où elle ne sert qu'en lecture mais qu'on ne veut pas passer par copie.
Nullius in verba
slt,je trouve en tout cas que cela devient vraiment moche dans les cas les plus extrêmes...qu'en pensez vous ?
je pense que ca sert à rien. Ya deux types de classes, les classes à logique et les classes de stockage de données. Dans celles qui stockent les données, j'ose espérer que t'as pas une logique de fou. Donc t'as pas 36 cas différents de pointeurs et référence et ya juste à looker la déclaration dans le header.
Dans une classe avec logique, alors t'es pas censé avoir 50 membres, sinon faudrait ptet envisager de scinder la classe.
Bref dans la plupart des cas, tu auras qq membres, mais j'ai du mal à concevoir qu'il y en ai trop pour que le cerveau oublie les variables manipulées au sein de la méthode (faut-il rappeler que les méthodes sont censées être courtes)
Je trouce ce genre d'affirmation gui généralisent à l'emporte pièce presque toujours douteuses. Par exemple, "data" peut être parfaitement limpide dans le cas d'une procédure générique de transfert, de persistance de données, etc ... quand on a aucun élément permettant de faire une assertion a priori sur le contenu.
Une déclaration du type :
je ne vois pas du tout ce que cela a de choquant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SendBytes(byte[] data)
Ca, ca me semble encore plus idiot comme affirmation. Ca a un sens en C (ou dans d'autres L3G non objet, plus vraiment utilisés - Pascal par exemple) ou le nombre de type utilisé est limité (et encore, pour les struct en C, les RECORD en pascal, il fait comment ?) mais ce serait absurde avec un langage objet. (Il compte préfixer le nom de chaque variable avec le nom de la classe qualifié par son namespace ?????)Pour ANDY Lester, les noms des variables doivent dire quel type de données est manipulé.
Bref, analyse manquant un peu de réflexion, je pense, d'autant qu'elle n'est pas tempérée par les considérations sur l'étendue de la portée de la variable. (utiliser une lettre unique pour une variable définie avec comme portée un bloc using de 5 lignes, où est le problème ????)
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...
Une réponse vous a aidé ? utiliser le bouton
"L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager