W tej mojej odpowiedzi użyłem _t
na końcu typów, które w najlepszym razie zakończyły się kontrowersjami. Jest to praktyka, której używam w moich bieżących projektach.
typedef struct {
int x;
int y;
} point_t;
Miało to być spójne z typami C z stddef.h
podobnych size_t
lub ptrdiff_t
. Jednak, zgodnie z niektórymi komentarzami w moich pytaniach, _t
postfiks wydaje się być zarezerwowany dla POSIX. Czego powinienem użyć zamiast _t
? Czy powinienem nadal korzystać _t
?
To pytanie dotyczy zarówno C, jak i C ++. Jeśli te języki mają inne konwencje, odpowiedz na nie.
_t
) stackoverflow.com/a/228797/14065Odpowiedzi:
W społecznościach C i C ++ nie ma zgody co do typów nazewnictwa.
Chociaż
_t
przyrostek jest rzeczywiście zarezerwowany przez POSIX , niektórzy opowiadają się za użyciem tego_t
przyrostka również dla własnych typów, podczas gdy inni równie stanowczo twierdzą, że nie powinieneś kusić losu, ryzykując duplikaty nazw w POSIX.Alternatywne konwencje nazewnictwa sugerują użycie przedrostka dla typów, takich jak
C
lubT
.źródło
Uważam, że sufiksy są raczej brzydkie, więc unikaj
_t
itd. Dobrą alternatywą jest użycie dużej litery do rozpoczęcia nazw typów, tak jakPoint
w powyższym przykładzie.źródło
To zależy od Ciebie. O ile nie ma konfliktu z zastrzeżonymi słowami, dobrze jest iść. Zastanów się jednak nad scenariuszem, w którym pracujesz w firmie, a wiele osób uzyskuje dostęp do tej samej bazy kodu, a Twój kod dociera do osoby, która nie jest świadoma Twojego nawyku. Może wtedy założyć, że jest to typ zastrzeżony, szczególnie jeśli piszesz coś takiego jak point_t. Tak więc, bądź prostszy, np. Punkt jest prostszy niż point_t. A jeśli chcesz coś do niego dołączyć, dołącz swoje inicjały nazwisk.
źródło