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

Framework .NET Discussion :

[Théorie]Combien de membres doit contenir un espace de noms?


Sujet :

Framework .NET

  1. #1
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut [Théorie]Combien de membres doit contenir un espace de noms?
    Bonjour à toutes et tous

    Ma question peut paraître bête ou simpliste à première vue. Cependant, suite à l'utilisation de l'outil Assembly Analyser de SharpDevelop, j'obtiens la remarque suivante:

    Eviter d'avoir des espaces de noms avec peu de membres
    Description
    Un espace de nom doit généralement contenir un minimum de cinq types.
    Résolution
    Envisagez de fusionner les types de l'espace de nom Blablabla avec un autre espace de nom.
    Sur quoi repose cette description "doit généralement" et surtout pourquoi ce minimum chiffrer à 5 :

    En vous remerciant, cordialement neguib
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  2. #2
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Sur quoi repose cette description "doit généralement" et surtout pourquoi ce minimum chiffrer à 5
    J'ai une réponse très ...Nette : ça repose sur rien :-)

    En revanche le bon sens indique qu'en "général" un espace de nom doit contenir un "certain nombre" de classes.
    Cela tout simplement parce que les namespaces ont été créés pour _regrouper_ les classes et autres déclarations et créer ainsi des hiérarchies claires et pratiques.
    Si on créé des espaces de nom qui ne contiennent presque rien, c'est donc la porte ouverte à la multiplication des espaces de nom... ce qui est paradoxal. A la limite extrême et débile, une classe dans un espace de nom... Et là, pouf, le concept de namespace n'a plus d'intérêt.

    Dans l'autre sens, un namespace avec 500 classes dedans c'est une hérésie. Il faut découper les espaces en sous espaces, comme on le voit dans le framework par exemple avec System qui débouche sur des sous espaces eux mêmes segmentés etc.

    Donc en réalité, c'est la définition même de l'espace de nom qu'il faut comprendre et l'utilité de cet artifce déclaratif.
    Un espace de nom qui contient trop "peu" ou "trop" de classes ne respecte pas l'objectif visé.

    Mais vouloir "chiffrer" les limites inférieure et supérieure est bien entendu débile, il faut le dire clairement :-)

  3. #3
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    FxCop dispose de la meme regle
    Cat:
    Avoid having a namespace with a small number of types

    Description:
    A namespace should generally have more than five types.

    http://www.gotdotnet.com/team/libraries/FxCopRules/DesignRules.aspx

    J'ai absolument rien trouve sur ce "5 types dans un namespace" sur le net, a mon avis il s'agit d'un chiffre arbitraire designant le "peu" (certains developpeurs peuvent trouver que leur 35 types c'est peu par rapport au framework.Net)

    Pourquoi environ 5 types ca serait trop peu? A mon avis c'est juste pour alerter l'utilisateur sur le fait qu'il a potentiellement mal construit sa hierarchie de namespaces en la precisant trop.

    Le namespace doit etre un compromis entre la meilleure classification et la meilleure utilisation possible. A trop faire de namespaces trop vides, on rend l'application ou le framework plus difficile d'utilisation.

    C'est qu'une supposition bien sur

    EDIT: +1 avec Merlin donc

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Tout pareil.

    De toute façon, on organise les namespaces par rapport à ce que "veut" le code. Ce qui semble le plus logique.

    Si chaque classe a bien *sa* responsabilité et qu'on n'en a pas certaines qui font 50 choses différentes, ça se répartit tout seul. Après, peu importe le nombre de classes dans un namespace. Si c'est le plus clair/logique, c'est bon.

    La règle de FxCop dit "should generally". Pas une obligation, plutôt une indication pour faire penser à jeter un oeil sur son organisation de temps en temps.

    La version SharpDevelop et son "doit généralement", j'aime moins :)
    Mais c'est visiblement une bête traduction de FxCop. "should generally" -> "devrait généralement". C'est déjà un peu moins 'imposé'.
    Vive les VF... :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Je vous remercie tous de vos judicieuses réponses.

    Effectivement, je ne voyais pas trop l'intérêt par rapport à la petite appli console que j'avais fait (4 types), de me forcer à trouver le moyen de créer une 5ième classe juste pour ne plus voir le message d'avertissement

    Je vous suis reconnaissant pour le temps que vous avez consacré à me repondre
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. Expression régulière doit contenir 14 chiffre
    Par fano97one dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 19/06/2012, 13h20
  2. [Mail] Champ qui doit contenir un @
    Par anerax dans le forum Langage
    Réponses: 4
    Dernier message: 12/11/2008, 13h48
  3. Que doit contenir mon URL pour me connecter à maBase
    Par maxinformatique dans le forum JDBC
    Réponses: 22
    Dernier message: 03/04/2007, 16h27
  4. Réponses: 1
    Dernier message: 28/07/2006, 19h40
  5. Que doit contenir un dossier de programmation ?
    Par b30ff dans le forum Débats sur le développement - Le Best Of
    Réponses: 11
    Dernier message: 26/06/2004, 19h09

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