Résultats de 1 à 10 sur 10

Sujet : De la notation hongroise

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    329

    De la notation hongroise

    Salut à tous,

    La notation hongroise, pour ceux qui ne sauraient pas à quoi cela correspond, consiste à préfixer le nom des variables par un ou plusieurs caractères correspondant au type de la variable. Ainsi, on écrira pas :

    Code:
    int prix = 4, taux = 19;
    char *chaine;
    Mais plutôt :

    Code:
    int iPrix = 4, taux = 19;
    char sChaine;
    // ce qui permet de créer
    // une seconde variable pour
    // le prix en float par exemple
    float fPrix = 4.0;
    C\'est une convention très utile pour se reprérer dans le code mais l\'écriture en devient plus fastidieuse, et elle perd de l\'intérêt qd on commence à programmer objet. Personnellement je l\'emploie presque toujours dans mon code et elle m\'a (pour l\'instant ^^) toujours facilité la tâche

    Votre avis : une notation vraiment utile ou une convention de plus pour décourager le débutant :?:

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    1 012
    Je trouve que la notation hongroise aide plus les débutants qu\'elle ne les découragent! En effet quand on a un code utilisant beaucoup de variable il faut tout de même savoir retrouver son type en lookant le code, cad, si vous déclarez une variable en globale (par ex avant declaration de toutes les vars...) et que vous avez des longues fonctions au dessus de l\'utilisation de la variable il vous sera très désagréable de toujours aller regarder en-haut pour voir le type de votre variable (il est rare d\'en oublier le cas, mais le cas échéant...)

    Et puis parfois elle permet une meilleure lecture du code également!

    Donc moi je préfère utiliser la notation hongroise (je ne suis plus débutant mais c\'est mieux je trouve :wink: )

    Ciao

    [DmXx]
    Grégory S.

    eVias Web & Software Solutions.

    Développement Web et logiciel en tout genre et Open Source.

    FOSDEM 2008. Venez -y nombreux !

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    329
    Pour moi au contraire ça c\'est plutôt un mauvais penchant de cette notation, puisqu\'elle va permettre au programmeur d\'utiliser plus aisément des variables globales, ce qui va lui donner de \"mauvaises\" habitudes puisque ces variables globales vont entraîner des effets de bords (peu désirables) qui vont ralentir le flux du programme. Dans ce cas il aurait été plus \"propre\" d\'utiliser des objets ou des locales

    A ce propos : utilisez-vous cette notation au sein même de vos objets ? Dans ce cas je la trouve parfois gênante (noms de variables à ralonge ça va bien un moment ^^)

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    1 012
    Oui, j\'utilise pratiquement toujours la notation hongroise, parfois il est vrai que cela peut être gênant (le cas échéant je ne l\'utilise pas) mais bien souvent, je préfère l\'utiliser

    Ciao

    [DmXx]
    Grégory S.

    eVias Web & Software Solutions.

    Développement Web et logiciel en tout genre et Open Source.

    FOSDEM 2008. Venez -y nombreux !

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    665
    Ma mère est d\'origine hongroise et la Transylvanie appartenait à la Hongrie à l\'époque du comte Dracula (donc Dracula est hongrois).
    Tout ça n\'a aucun rapport et prend de la place pour rien mais j\'avais envie de dire une connerie :cry:
    [col=#FFDD1A]( [/col][col=#FF0000]B[/col]e [col=#FF0000]S[/col]i[col=#FF0000]d[/col]e [col=#FFDD1A])[/col]

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Je n\'utilise pas la notation hongroise, mes var ont déjà des noms assez longs par pas en rajouter.

    Pour spécifier des var globales on peut aussi terminer leur nom par _g.

    En général, je travaille avec des int et qd j\'utilise dess double je le sais.

    Ensuite si on fait iPrix, fPrix, sPrix, on peut aussi se perdre pour savoir lequel utiliser.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  7. #7
    Membre MP
    Inscrit
    août 2013
    Messages
    627
    Ah ben tiens je ne connaissais pas la notation hongroise.
    Personnelement le code est assez lisible et les nom de variables assez evocateurs. Du moins j essaye. mais c est vrai que dans du gros code ca doit etre plus pratique, surtout pour les personne qui repasse derriere.
    ... Until then, we're better off dead
    A smile on the lips and a hole in the head ...

  8. #8
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Perso je que j\'essaie aussi de faire est de ne pas confondre le type du l\'objet.
    Je m\'explique, qd je crée une classe animal, j\'appelle la classe class_animal et non animal car animal sera une varible de la classe class_animal.

    C-à_d. on ferai class_animal animal;

    Et non animal un_animal.

    Je trouve ca plus propre.

    Aussi certains mettent prt_ en début de nom mais je trouve que ca alourdit trop. Déjà vu la taille de mes variables.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    665
    CAnimal très utilisé pour les noms de classe. Moi je mets aussi en majuscules les variables membres très importantes d\'une classe. C\'est peut être pas facile à comprendre mais certaines de mes classes n\'ont lieu d\'être que par certaines de leurs variables membres. Sinon notation efficace pour les vecteurs : v2f (vecteur de 2 float). J\'ai vu aussi f32 pour dire float (pour être sur de toujours bosser avec des float 32 bits, si on change de plateforme) et double donne f64. Moi j\'évite de foutre des i et des f devant les noms de variables, la plupart du temps leur nature m\'indique automatiquement si c\'est des int ou des floats et au pire des cas, je me ramasse des warnings pendant la compilation.
    [col=#FFDD1A]( [/col][col=#FF0000]B[/col]e [col=#FF0000]S[/col]i[col=#FF0000]d[/col]e [col=#FFDD1A])[/col]

  10. #10
    Membre MP
    Inscrit
    août 2013
    Messages
    329
    Perso, depuis la date de post de ce topic j\'ai pas mal évolué au niveau du style de code. Je n\'utilise quasiment plus la notation hongroise, même si je reconnaîs sont utilité.

    Pour l\'instant, je me contente de préfixer les classes d\'objets (cObjet...), mais pas les namespace ou les objets eux-mêmes. En fait, je crois qu\'un nom explicite d\'objet peut suffire, surtout quand on n\'utilise plus de variables à portée globale. Par contre, pour toute variable je préfère ne jamais commencer le nom par des majuscules.

    Après, c\'est une question de choix, à chacun sa technique et, de toutes manières, il n\'y a pas de solution miracle :wink:

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!