Frage

Sie können unterschiedliche Namensgebung haben Konvention für die Teilnehmer, statische Objekte, globale Objekte und Strukturen. Einige der Beispiele von ihnen sind wie folgt.

_member
m_member

oder in Java Fall die Verwendung von this.member.

Aber gibt es eine gute Technik oder Namenskonvention für Funktionsvariablen Bereich, der vermittelt, wenn eine einzelne Variable kompletten Funktionsumfang oder einen kurze Lebensdauer Umfang hat?

void MyFunction()
{
  int functionScopeVariable;

  if(true)
  {
    //no need for function variable scope naming convention
  }
}
War es hilfreich?

Lösung

Wir neigen dazu, einen l_ Präfix in unseren Funktionen für die Verwendung von „local.“ Und, das ist ziemlich gut funktioniert.

Andere Tipps

Ich ermutige tatsächlich diese Aufgabe dem IDE / Editor delegieren Sie verwenden.

Nein, ich bin nicht wirklich über Namensgebung Variablen sprechen, dass nach wie vor am besten von einem Menschen gemacht. Aber die Aufgabe zugrunde, solche Namensgebung Strategien ist es, Ihnen zu zeigen, welche Art von Variable beliebigen Namen darstellen.

So ziemlich jeder IDE wert sein Salz können verschiedene Arten definieren (Farben, Schriften, Schrifttypen, ...) zu verschiedenen Variablentypen (zB Mitglied, statisches Element, argument, lokale Variable, ...), so die IDE lassen Ihnen sagen, welche Art von Variable ist eigentlich befreit Sie von denen (sonst nutzlos) Vor- oder Suffixe jedes Mal eingeben.

Also mein Vorschlag:. Verwenden Sie aussagekräftige Namen ohne Präfix oder Suffix

Eine Methode ist die Leitlinie, dass je größer der Umfang der Variablen, je länger der Name zu folgen. Auf diese Weise erhalten globale Variablen langen beschreibenden Namen, während Umfang begrenzte Dinge wie Schleifenindex Variable können als einzelne Buchstaben so klein sein.

Ich benutze Präfixe oder spezielle Namenskonventionen auf globale, statische und Membervariablen also muss ich nicht Präfixe auf Einheimischen verwenden. Ich bevorzuge die Möglichkeit, kurze lokale Variablennamen verwendet, insbesondere für die Schleifenvariablen.

Es ist ein Argument, das Sie sollten nicht ‚große Umfang Funktionen‘ haben, so gibt es kein Problem mit der Benennung sein sollte -. Nur verwenden, um die ‚kleine Scope-Funktion‘ Variable Namenskonventionen

Die Führung von MSFT und anderem Style-Guides für private Instanz Felder ist _memberName (Kamel Fall Schreibweise mit „_" Präfix). Dies ist auch die Konvention in dem Quellcode von vielen neueren Microsoft-Tutorials verwendet.

Ich benutze es, weil es kürzer, nicht ungarisch, und R # unterstützt es als Standardregel für private Instanz Felder aus.

Ich mag es auch, weil es eine Art, die privaten Felder von Intellisense verschleiert, wie es sollte, da Sie es vorziehen, sollten zuerst die öffentlichen Member zuzugreifen. Wenn ich eine Immobilie zugreifen möchten und ich beginne die Eingabe von „Na“ der erste Vorschlag ist, die Pascal-verrohrten öffentlichen Instanz Eigenschaft Name. In den seltenen Fällen, die ich auf den privaten Bereich zugreifen möchten direkt zwingt mich eine bewusste Entscheidung zu treffen „_“ starten eingeben, dann erhalte ich die vollständige Liste meiner privaten Felder in der Intellisense Popup.

Ich habe auch eine Anleitung gesehen, der sagt, es _MemberName sein sollte, wenn es das dahinter liegendes Feld für eine öffentliche Eigenschaft mit dem Namen Member (Pascal-Fall-Notation mit dem Präfix „_“) ist ich so persönlich nicht, weil ich das Kapital M denke überflüssig ist, unnötige Tastatureingaben hinzufügt und keine zusätzlichen Informationen nicht hinzugefügt werden.

Es ist wirklich alles davon ab, was auch immer die Stil-Richtlinien für die Sprache vorschlagen, wenn es welche gibt.

Ich denke, alles ist in Ordnung, solange es die Bedeutung in Bezug auf seine Verwendung vermittelt.

Ich ziehe es einfach zu halten, verwende ich:

 m_varname - Class member variables
 g_varname - Global variables

Ich benutze die gleiche Konvention ich für Klassenmitglieder verwenden. Die IDE sollte darauf achten Ihre Erklärung zu finden. Wenn eine Funktion ist, dass große und verwirrend, dass es ein prblem wird, gibt es ein gretaer Problem Adressen werden muss.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top