In meiner Antwort habe ich _t
am Ende Typen verwendet, die bestenfalls umstritten endeten. Dies ist die Praxis, die ich in meinen aktuellen Projekten verwende.
typedef struct {
int x;
int y;
} point_t;
Dies sollte mit C-Typen von stddef.h
like size_t
oder konsistent sein ptrdiff_t
. Nach einigen Kommentaren in meinen Fragen _t
scheint Postfix jedoch für POSIX reserviert zu sein. Was soll ich stattdessen verwenden _t
? Oder soll ich _t
trotzdem weiterverwenden?
Diese Frage gilt sowohl für C als auch für C ++. Wenn diese Sprachen unterschiedliche Konventionen haben, können Sie diese gerne beantworten.
_t
) stackoverflow.com/a/228797/14065Antworten:
Innerhalb der C- und C ++ - Community besteht kein Konsens hinsichtlich der Benennungstypen.
Obwohl das
_t
Suffix in der Tat ist von POSIX reserviert wird , werden einige befürworten, das_t
Suffix auch für Ihre eigenen Typen zu verwenden, während andere ebenso entschieden argumentieren, dass Sie das Schicksal nicht versuchen sollten, indem Sie doppelte Namen mit POSIX riskieren.Alternative Namenskonventionen empfehlen die Verwendung eines Präfixes für Typen wie
C
oderT
.quelle
Ich finde Suffixe ziemlich hässlich und vermeide sie daher
_t
usw. Eine gute Alternative ist die Verwendung eines Großbuchstabens, um Typnamen zu beginnen, wiePoint
in Ihrem obigen Beispiel.quelle
Es hängt von dir ab. Es sei denn, es liegt ein Konflikt mit den reservierten Wörtern vor. Stellen Sie sich jedoch ein Szenario vor, in dem Sie in einem Unternehmen arbeiten und mehrere Personen auf dieselbe Codebasis zugreifen und Ihr Code an eine Person weitergeleitet wird, die sich Ihrer Gewohnheit nicht bewusst ist. Er kann dann davon ausgehen, dass es sich um einen reservierten Typ handelt, insbesondere wenn Sie schreiben so etwas wie point_t. Halten Sie es also einfacher, z. B. ist point einfacher als point_t. Und wenn Sie etwas anhängen möchten, hängen Sie die Initialen an.
quelle