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

C# Discussion :

Conventions de programmation


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut Conventions de programmation
    Bonjour à tous,

    Voilà, j'ai une petite question sur les "règles" de programmation que vous utilisez.

    Admettons que l'on travaille sur un projet Winform qui contient plusieurs contrôles du type bouton, textbox, liste déroulante préfixés comme suit : btnXXX, txtXXX et cmbXXX.

    Pour affecter du texte à une textbox depuis votre form, vous faites plutôt :
    ou plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.txtNom.Text = "toto";
    Même question pour appeler une méthode privée à l'intérieur d'un objet :
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.GetAgeDuCapitaine();
    Voilà, j'aurais bien aimé savoir le code que vous utilisez et pourquoi.

    Personnellement je suis plutôt partagé :
    - l'utilisation de txtNom.Text ou GetAgeDuCapitaine(); signifie implicitement que ce sont des contrôles / méthodes qui appartiennent à l'objet en cours, donc pas besoin de préciser avec this
    - d'un autre côté, le this permet d'avoir uniquement les méthodes / propriétés d'un objet sans s'encombrer de toutes les références au framework .Net, mais je le trouve un peu "lourd".

    Merci de me donner votre avis sur la question !
    Lionel.

  2. #2
    Membre confirmé Avatar de Marsupilami_00
    Profil pro
    Architecte logiciel
    Inscrit en
    Janvier 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Janvier 2007
    Messages : 102
    Par défaut
    Bonjour

    Moi j'utilise
    Les méthodes sont des accesseurs que j'utilise pour des variables que je publies à l'utilisateur et dont je veux effectuer un traitement particulier. Je ne les utilise jamais dans le cas que tu as évoqué. J'utilise le "This" quand j'ai un conflit de méthode ou de variable avec .Net ou dans les extensions de classe.

  3. #3
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Pour ma part, j'utilise toujours pour éviter les ambiguités...

    Si par exemple j'ai un paramètre de fontion ayant le même nom que la variable de la classe ayant cette fonction ....

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 77
    Par défaut
    Bonjour,
    pour des petits projets, sur lesquels je bosse seule, j'ai tendance aussi à ne pas mettre le this.
    Cependant, j'ai déjà travaillé sur de gros projets où les conventions de codage l'imposaient... Et c'était plutôt utile à la lecture. En effet, quand on arrive dans un code qu'on ne connaît pas, pas forcement bien découpé en petits modules, cela permet de différencier très rapidement les variables de classe des variables locales. Pour les fonctions en revanche, je ne vois pas l'intérêt à priori.

  5. #5
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    pour les fonctions je suppose que c'est tout simplement pour utiliser l'intelisense ... si on ne se souvien plus de toute les fonctions de la classe alors un petit et hop!!! c'est réglé
    bien que les fonctions soit listées et visibles sur l'éditeur, c'est une habitude que j'ai prise pour ma part

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par clochettes Voir le message
    Bonjour,
    pour des petits projets, sur lesquels je bosse seule, j'ai tendance aussi à ne pas mettre le this.
    Cependant, j'ai déjà travaillé sur de gros projets où les conventions de codage l'imposaient... Et c'était plutôt utile à la lecture. En effet, quand on arrive dans un code qu'on ne connaît pas, pas forcement bien découpé en petits modules, cela permet de différencier très rapidement les variables de classe des variables locales. Pour les fonctions en revanche, je ne vois pas l'intérêt à priori.
    C'est que votre convention était pourrie alors
    Personellement, j'utiliser Resharper et ses conventions par défaut:
    _maVariable pour un membre privé de classe
    maVariable pour une instance locale
    MaVariable pour une propriété publique ou une constante
    A partir de la, c'est totalement inutile d'utiliser this puisque du premier coup d'oeil tu sais ce qu'est ta variable

  7. #7
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par clochettes Voir le message
    En effet, quand on arrive dans un code qu'on ne connaît pas, pas forcement bien découpé en petits modules, cela permet de différencier très rapidement les variables de classe des variables locales.
    Salut.

    J'utilise systématiquement this pour cette raison

    Après, à mes yeux, il s'agit d'un débat stérile , tu trouveras toujours des pour et des contre...

    Tant qu'on est dans les conventions, je rajouterais juste que :
    S'il s'agit d'une méthode privée, je commence toujours le nom par une minuscule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void getAgeDeLaFemmeDuCapitaine()
    Afin de les différencier des méthodes publiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void GetAgeDuCapitaine()
    Voilà

  8. #8
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    D'accord avec eusebe19...
    les conventions vont changer en fonction de la personne ou de la société...

    par exemple, pour ma part les membres private commencent toujours avec un _ que ce soit fonctions ou variable

  9. #9
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,

    pour ma part je suis partisan d'écrire le maximum d'infos afin de lever toutes les ambiguïtés possibles. Du coup, j'utilise systématiquement 'this', que ce soit pour les méthodes, les propriétés ou les champs, quelle que soit leur visibilité.
    De la même manière je précise systématiquement la visibilité de tous les membres, même si par ex. un champ est privé par défaut.
    Enfin, pour les conventions de nommage, je préfixe les champs privés par des underscores, et je suis un anti-notation hongroise convaincu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Information sur les conventions propres à la programmation JV
    Par romnair dans le forum Création de jeux vidéo
    Réponses: 14
    Dernier message: 22/03/2015, 18h16
  2. Réponses: 9
    Dernier message: 06/12/2014, 19h01
  3. Réponses: 4
    Dernier message: 13/07/2012, 20h30
  4. [Conventions] Bien programmer un site complet en PHP
    Par jpean.net dans le forum Langage
    Réponses: 3
    Dernier message: 30/03/2007, 14h16
  5. Réponses: 0
    Dernier message: 27/08/2006, 10h59

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