Question

Quelles conventions utilisez-vous pour nommer des opérations de classe?

Était-ce utile?

La solution

Mot entier doc: Télécharger C # Normes de codification et les meilleures pratiques

Conventions de dénomination et normes

Note: Les termes Pascal boîtier et Camel enveloppe sont utilisés dans le présent document. Boîtier Pascal - Le premier caractère de tous les mots sont Majuscules et d'autres caractères sont minuscules. Exemple: BackColor Camel Boitiers - Le premier caractère de tous les mots, à l'exception du premier mot sont Majuscules et d'autres caractères sont minuscules. Exemple: backColor

  1. Utiliser boîtier Pascal pour les noms de classe

    public class HelloWorld {  ... }

  2. Utilisation enveloppe Pascal pour les noms Méthode

    SayHello void (string name) {  ... }

  3. Utilisation enveloppe Camel pour les variables et paramètres de la méthode

    int totalCount = 0; SayHello vide (nom de chaîne) {  chaîne fullMessage = "Bonjour" + nom;  ... }

  4. utiliser le préfixe « I » avec Camel corps pour les interfaces (exemple: IEntity)

  5. Ne pas utiliser la notation hongroise à des variables de nom.

Dans les premiers jours la plupart des programmeurs aimé - ayant le type de données comme préfixe pour le nom de variable et en utilisant m_ comme préfixe pour les variables membres. Par exemple:

string

m_sName; int NAGE;

Cependant, dans les normes de codage .NET, ce n'est pas recommandé. Utilisation du type de données et m_ pour représenter les variables membres ne doit pas être utilisé. Toutes les variables doivent utiliser boîtier de chameau.

Certains programmeurs préfèrent encore utiliser le préfixe m_ pour représenter les variables membres, car il n'y a pas d'autre moyen facile d'identifier une variable membre.

  1. Utilisez des mots signifiants, descriptives aux variables de nom. Ne pas utiliser des abréviations.

Bon:

string address
int salary 

Non Bon:

string nam
string addr
int sal 
  1. Ne pas utiliser des noms de variables de caractère unique comme i, n, s etc. Utilisez des noms comme index, temp

Une exception dans ce cas serait variables utilisées pour des itérations en boucle:

for ( int i = 0; i < count; i++ )
{
 ...
}

Si la variable est utilisée uniquement comme compteur pour l'itération et est utilisée nulle part ailleurs dans la boucle, beaucoup de gens aiment toujours d'utiliser une seule variable char (i) au lieu d'inventer un autre nom approprié.

  1. Ne pas utiliser soulignement (_) pour les noms de variables locales.

  2. Toutes les variables membres doivent être préfixées avec underscore (_) afin qu'ils puissent être identifiés à partir d'autres variables locales.

  3. Ne pas utiliser des noms de variables qui ressemblent à des mots-clés.

  4. Prefix variables booléennes, les propriétés et les méthodes avec « est » ou préfixes similaires.

Ex: private bool _isFinished

  1. Les noms doivent suivre le Namespace modèle standard

...

  1. Utiliser le préfixe approprié pour les éléments de l'interface utilisateur afin que vous puissiez les identifier du reste des variables.

Il existe 2 approches recommandées ici.

a. Utilisez un préfixe commun (Ui_) pour tous les éléments de l'interface utilisateur. Cela vous aidera à regrouper tous les éléments de l'interface utilisateur ensemble et facile d'accès tous du IntelliSense.

b. Utilisez le préfixe approprié pour chacun des éléments ui. Une brève liste est donnée ci-dessous. Depuis .NET a donné plusieurs contrôles, vous devrez peut-être arriver à une liste complète des préfixes standard pour chacun des contrôles (y compris les contrôles tiers du parti) que vous utilisez.

Control Prefix
Label lbl
TextBox txt
DataGrid dtg
Button btn
ImageButton imb
Hyperlink hlk
DropDownList ddl
ListBox lst
DataList dtl
Repeater rep
Checkbox chk
CheckBoxList cbl
RadioButton rdo
RadioButtonList rbl
Image img
Panel pnl
PlaceHolder phd
Table tbl
Validators val
  1. Nom du fichier doit correspondre avec le nom de la classe.

Par exemple, pour la classe HelloWorld, le nom du fichier doit être HelloWorld.cs (ou, helloworld.vb)

  1. Cas d'utilisation Pascal pour les noms de fichiers.

  2. et l'espacement Indentation

  3. Utilisez TAB pour l'indentation. Ne pas utiliser ESPACES. Définir la taille Tab comme 4.

  4. Les commentaires doivent être au même niveau que le code (utilisez le même niveau d'indentation).

Bon:

// Format a message and display

string fullMessage = "Hello " + name;
DateTime currentTime = DateTime.Now;
string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
MessageBox.Show ( message );

Non Bon:

// Format a message and display
string fullMessage = "Hello " + name;
DateTime currentTime = DateTime.Now;
string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
MessageBox.Show ( message );
  1. Curly accolades ({}) devrait être dans le même plan que le code à l'extérieur des accolades.

  2. Utiliser une ligne de découpe pour séparer les groupes logiques de code.

Bon:

 bool SayHello ( string name )
 {
  string fullMessage = "Hello " + name;
  DateTime currentTime = DateTime.Now;

  string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();

  MessageBox.Show ( message );

  if ( ... )
  {
   // Do something
   // ...

   return false;
  }

  return true;
 }

Non Bon:

bool SayHello (string name)
 {
  string fullMessage = "Hello " + name;
  DateTime currentTime = DateTime.Now;
  string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
  MessageBox.Show ( message );
  if ( ... )
  {
   // Do something
   // ...
   return false;
  }
  return true;
 }
  1. Il devrait y avoir une et une seule ligne de blanc unique entre chaque méthode dans la classe.

  2. Les accolades doit être sur une ligne distincte et non pas dans la même ligne que si, pour etc.

Bon:

if ( ... ) 
  {
   // Do something
  }

Non Bon:

if ( ... ) {
   // Do something
  }
  1. Utilisez un espace avant et après chaque opérateur et supports.

Bon:

if ( showResult == true )
  {
   for ( int i = 0; i < 10; i++ )
   {
    //
   }
  }

Non Bon:

if(showResult==true)
  {
   for(int    i= 0;i<10;i++)
   {
    //
   }
  }
  1. Utilisation #region en morceaux relatifs au groupe de codes ensemble. Si vous utilisez le regroupement approprié à l'aide #region, la page doit vous quand toutes les définitions sont effondrés.

  2. Gardez les variables membres privées, propriétés et méthodes dans le haut du dossier et des membres du public dans le fond.

Autres conseils

Je trouve rend la vie de chacun plus facile à utiliser les mêmes conventions de nommage utilisées par la langue et le cadre dans lequel vous travaillez.

Par exemple, .Net a une convention . Modèle ce que votre langue fait, et les « utilisateurs » de votre code et les bibliothèques seront plus heureux. Donc, la réponse peut être, cela dépend de votre langue et / ou plate-forme ...

Les conventions de nommage sont un sujet controversé, car il est une distinction arbitraire.

Les deux réponses ci-dessus sont bons. Mon plus est la suivante:

Votre but est la lisibilité. Votre code raconte une histoire, quoique parfois un peu ennuyeux. Assurez-vous que l'histoire est claire.

Pour le plaisir supplémentaire voir ces liens:

http://www.joelonsoftware.com/articles/Wrong.html

http://en.wikipedia.org/wiki/Naming_convention_%28programming%29

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top