Wenn wir das C-Präfix für Klassen verwenden, sollten wir es auch für struct verwenden?

7

Angenommen, ein Projekt verwendet das C-Klassenpräfix lange Zeit, und es wäre Zeitverschwendung, es zu einem späten Zeitpunkt zu ändern, und die Person, die den Stilführer ursprünglich geschrieben hat, wurde getroffen durch einen Bus, und dass es im Code bereits keine Strukturen gibt ...

Es ist eine ziemlich triviale Frage, aber wenn ein C ++ - Code-Style-Guide "C für Klassennamen-Präfix verwenden" sagt, sollte dies auch bedeuten, dass auch C für Struktur-Präfix verwendet wird, oder sollten wir etwas anderes verwenden, wie S für Beispiel.

%Vor%

... oder ...

%Vor%     
Nick Bolton 16.12.2009, 16:50
quelle

8 Antworten

12

Wenn der Styleguide nicht spezifiziert, würde ich (wahrscheinlich) die "structs are classes with all members public" -Rubrik verwenden, um C auch für Strukturen zu verwenden, ja. Oder ich würde denken "hah, hier ist ein Schlupfloch, um diese alberne Anfangsregel zu umgehen, yay" und nutze es nicht. Mit anderen Worten, das ist sehr subjektiv.

    
unwind 16.12.2009, 16:54
quelle
25

Einfache Antwort - Verwenden Sie nicht das C-Präfix für Klassen. Dies ist die ungarische Notation der sinnlosesten Sorte. Es ist wahrscheinlich Zeit, den Style Guide neu zu schreiben. Ehrlich gesagt (und als jemand, der mehrere der Dinge geschrieben hat), sind die meisten dieser Führer Müll und / oder wurden vor langer, langer Zeit geschrieben und nie aktualisiert.

    
anon 16.12.2009 16:53
quelle
5

Wenn der Code-Style-Guide nicht angibt, suchen Sie Code, der dem Style-Guide gefolgt ist, und sehen Sie, was bereits gemacht wurde.

Wenn es keinen Code gibt, der bereits dem Style Guide folgt, kommen Sie zu einer Einigung mit allen Beteiligten am Projekt.

Wenn niemand anderes an dem Projekt beteiligt ist, entscheide dich einfach und sei konsequent.

    
Drew Dormann 16.12.2009 16:54
quelle
3

Ich denke, diese Richtlinie ist dumm und verwirrend. Die Tatsache, dass Sie diese Frage stellen mussten, beweist es.

Codierstile sollen die Lesbarkeit erhöhen; Es ist offensichtlich, ob ein Bezeichner eine Klasse ist oder nicht, vor allem, wenn Sie eine anständige IDE mit Mouseover-Tooltips verwenden.

    
Andreas Bonini 16.12.2009 16:56
quelle
2

Wir verwenden normalerweise das C-Präfix für Klassen und das T-Präfix für Strukturen, die keine Methoden haben (dh "C" -Strukturen).

    
jrbjazz 16.12.2009 16:59
quelle
2

Für mich würde es zu kommen:

Möchten Sie, dass die Leser Ihres Codes sofort zwischen den beiden Deklarationstypen unterscheiden?

Während die Verwendung des Präfixes im Allgemeinen geschmacklos ist, sollten Sie die Ansicht des Code-Betreuers berücksichtigen. Ist es hilfreich für sie zu denken: "Ah! Nein C Präfix, das ist eine Struktur". Die Verwendung einer Struktur anstelle einer Klasse kann etwas Spezifisches in Ihrem Code bedeuten. Ist dies nicht der Fall, ist es sinnvoller, das Präfix für den Betreuer zu verwenden.

    
luke 16.12.2009 17:34
quelle
2

Wenn ein Styleguide seinen Zweck nicht erfüllt, um einfache Lesbarkeit, Konsistenz und Korrektheit zu fördern, sollte er geändert werden, bis er dies tut oder in die Ringdatei (Mülleimer) geworfen wird.

Wenn die Leute es nicht befolgen, sollte es auch aktualisiert werden, damit es leichter zu folgen ist (oder die Werkzeuge, die geändert werden, um das Programmieren einfacher zu machen).

    
Thomas Matthews 16.12.2009 19:22
quelle
0

Entsprechend dem existierenden Muster, Präfix C für Klassen, sollten Sie S für Struktur, I für Schnittstelle vorangestellt werden.

Zusätzlich Präfix E für enum, D für Delegat, D für Verzeichnis, F / M für Funktion / Methode, F für Datei, F für Feld, N für Namensraum, P für Seite, P für Parameter, P für Eigenschaft , R für den Rückgabewert, v für die Variable.

Stellen Sie vor Variablen

  • a für Array
  • b für boolean
  • c für char
  • f für Float
  • g für GUID
  • h für Handle
  • ich für int
  • j für json
  • k für Schlüssel
  • l für Liste
  • m für MarshalByRefObject
  • n für Nullable
  • o für Objekt
  • p für Zeiger
  • q für Warteschlange
  • r für die Registrierung
  • s für einzelne
  • t für Zeitzone
  • du für Uri
  • v für Version
  • w für WeakReference
  • x für XmlDocument
  • y für yoda
  • z für ZipFile

Beispiel

Gut:     

%Vor%

Schlecht:     

%Vor%     
Gqqnbig 25.01.2017 08:56
quelle

Tags und Links