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

 .NET Discussion :

Structure et Organisation d'une classe


Sujet :

.NET

  1. #1
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut Structure et Organisation d'une classe
    Bonjour,

    J'ai une bête question.
    Il y a-t-il un ordre défini quelque part dans les bonnes pratiques pour regrouper les types de déclaration?
    Perso j'essaye de respecter cet ordre :

    Constances
    Events
    Private fields
    Public fields (c'est le mal)
    Properties
    Constructeurs
    Destructeur
    Override
    Private Methods
    Public Methods
    Operators
    Indexers
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  2. #2
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Juin 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 49
    Points : 70
    Points
    70
    Par défaut
    Salut,

    Il n'y a pas vraiment d'ordre imposé, il s'agit plus de commodité et surtout d'habitudes prises par le développeur selon ses affinités.
    Cependant de manière générale interviennent d'abord les attributs, puis les getters/setters et enfin les méthodes publiques et privées.

  3. #3
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Pour ma part, cela dépend de ce que fait la classe.
    Dans une classe "standard", j'ai tendance à regrouper les membres par les catégories suivantes et les placer dans cet ordre dans la classe :
    • champs, indexeurs, propriétés
    • évènements
    • constructeurs/destructeurs
    • méthodes
    • opérateurs

    Sinon, dans une classe qui implémente une (ou plusieurs) interfaces/classes abstraites, j'ai tendance à regrouper les membres qui implémentent une interface/classe abstraite.

    D'autres principes tirés de l'excellent bouquin de Robert "Uncle Bob" Martin : Coder proprement sont :
    - Les concepts étroitement liés doivent être verticalement proches les uns des autres. Ainsi, on a moins besoin de faire défiler le fichier pour trouver les lignes en rapport.
    - Une méthode appelante doit se trouver au-dessus de la méthode appelée. Ce principe s'oppose à la règle communément appliquée qui dit que les membres privés se placent avant les membres publics, mais elle permet de respecter le premier principe.
    Pour en savoir plus, lire le bouquin, c'est une mine d'or.

    A part ça, une bonne pratique qui influe sur la longueur d'une classe, c'est le premier principe SOLID : SRP (Single Responsibility Principle). Lorsque ce principe est respecté, les classes sont plutôt courtes et sont bien plus lisibles (et bien plus facilement maintenables).

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Je vais aller regarder tes liens quand j'aurai un peu de temps

    Merci à vous
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

Discussions similaires

  1. Utilisation d'une structure au lieu d'une classe
    Par LinuxUser dans le forum C++
    Réponses: 10
    Dernier message: 23/11/2012, 13h03
  2. Tableau de structure en C et une classe en C#
    Par Mouti dans le forum C++/CLI
    Réponses: 6
    Dernier message: 10/07/2007, 07h55
  3. Réponses: 1
    Dernier message: 29/06/2007, 15h13
  4. [C#]Pourquoi utiliser une structure plutôt qu'une classe?
    Par egoom dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/10/2006, 09h49
  5. ou mettre une structure utilisée par une classe
    Par grand's dans le forum C++
    Réponses: 10
    Dernier message: 28/07/2005, 18h53

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