This project has moved. For the latest updates, please go here.

Normes proposées

Classe :

  • Dans le dossier MasterClasses/Modeles, utiliser le modèle Classe.tt pour générer la classe souhaitée et la copier dans une nouvelle classe (les variables à modifier sont : Auteurs, Application, Dossier, Classe).
  • Nom de classe : notation "Pascal".

Classe de tests :

  • Un modèle de classe est disponible dans MasterClasses/Modeles (ClasseTest.tt). Les variables à modifier sont : Auteurs, Application, Dossier, Classe.
  • Ou utiliser l'assistant d'ajout de tests présent dans le cas des versions professionnelles.

Convention de nommage :

  • Variables locales : notation "Camel Case". Utiliser les variables classiques de boucle (i, j, k, l, ...).
  • Propriétés : notation "Pascal".
  • Attributs privés : notation "Camel Case".
  • Paramètres de méthodes/fonctions : notation "Camel Case", première initiale en minuscule.
  • Méthodes, fonctions : notation "Pascal".
  • Utiliser des verbes à l'impératif pour le début des noms de méthodes/fonctions.
  • Cas des méthodes de tests : compléter le nom par le cas d'utilisation testé, exemple : RetourneChaineLimiteeParametreNul, RetourneChaineLimiteeParametreCourt, RetourneChaineLimitee_ParametreLong, pour une fonction qui limiterait la longueur d'une chaine fournie, à une longueur fournie et la retournerait.
  • Utiliser Est??? pour les fonctions booléennes.
  • Objets / Composants .Net : nom de la classe, première initiale en minuscule.
  • Autant que possible utiliser un vocabulaire et des termes francophones.

Notation hongroise :

Préfixes Description
i int (entier)
n short int (entier court)
l long int (entier long)
f float (nombre à virgule flottante)
d double (float double)
m decimal
c char (caractère)
by byte (caractère non signe)
b boolean (booléen)
s string (chaine de caractères)
w word (mot = double octet)
dw double word (double mot)
dt Date et heure (DateTime)


Modificateurs Description
t array (tableau)
attributs privé (variable membre). Préfixer par 'this.' lors de l'utilisation.

Commentaires :

Les commentaires sont générés par les 3 fractions (///) ou vous pouvez utiliser GhostDoc (http://submain.com/products/ghostdoc.aspx). Un fichier de configuration (MasterContacts.gdc) se trouve dans le répertoire de la solution et peut être importé dans GhostDoc (Outils / GhostDoc / Configure GhostDoc puis Import).
  • Au minimum, utiliser les balises de signature suivantes :

/// <summary>
/// Retourne une chaine contenant n groupes de blancs.
/// </summary>
/// <param name="nombreTabulations">Nombre de Tabulations.</param>
/// <returns>Une chaine de blancs.</returns>
  • Dans le corps des méthodes, aérer, mettre des commentaires lorsqu'ils sont judicieux.
  • Les propriétés seront également commentées :

/// <summary>
/// Retourne la version du système d'exploitation.
/// </summary>
/// <value>La version du système d'exploitation.</value>
public static string VersionSystemeExploitation
{
     get { return Environment.OSVersion.ToString(); }
}

Idem pour les énumérations, structures publiques, etc...

Analyse du style :

L'analyse du code au fur et à mesure du développement peut être contrôlée par StyleCop (http://stylecop.codeplex.com/). Le paramétrage désiré est présent dans le dossier "Solution Items" (Settings.StyleCop). La propriété "Ouvrir Avec" pour ce fichier, au sein de Visual Studio, doit être positionnée par défaut sur "StyleCopSettingsEditor".

Livraison du code :

Les pré-requis demandés sont les suivants :
  • Aucune erreur
  • Messages et avertissements : sauf cas particulier, les corriger avant livraison. Ajouter une balise // TODO: le cas échéant pour la dette technique.
  • Couverture optimale des chemins de tests (50 à 80%).

Structure des espaces de noms :

Master.Contacts.<dossier>
  • <dossier> représente le dossier physique où est enregistrée la classe.

Exemple : Master.Contacts.Metiers pour la classe Metier.

Le projet Master.Contacts comprend les dossiers et classes suivants :

En cours de définition...

Last edited Feb 11, 2012 at 11:19 PM by jfpacory, version 3

Comments

No comments yet.