/ / Jak nazywasz swoje zmienne? [zamknięte] - c ++, przestrzenie nazw, konwencje nazewnictwa

Jak nazywasz swoje zmienne? [closed] - c ++, namespaces, nazewnictwo-konwencje

Czy przewodnik po stylu Google C ++ ( http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml ) dobre według Ciebie? Śledzę tego doktora, ponieważ ja potrzebne przewodnik!! W przeciwnym razie zmieniłbym swoją konwencję nazewnictwa codziennie ...

Inne pytanie: opracowując bibliotekę oprogramowania, wszyscy prawdopodobnie umieścimy wszystkie te rzeczy w jednym lub kilku obszarach nazw. Załóżmy, że Twoja biblioteka nazywa się MyLib i załóżmy, że masz klasę o nazwie CMemory. Jak widać, CMemory jest nazwą pospolitą i może generować niejednoznaczność podczas korzystania z biblioteki, nawet jeśli CMemory znajduje się pod przestrzenią nazw MyLib. Zwykle używasz jakiegoś prefiksu dla klas i innych obiektów dostępnych za pomocą MyLib:: (na przykład: mlCMemory)?

Odpowiedzi:

3 dla odpowiedzi № 1

Myślę, że wiele osób nie wziąłoby pod uwagęzasady Google c ++ są tym, czego używają do pisania kodu c ++, na przykład „Nie używamy wyjątków C ++”. większość nie zgodzi się z tym.

Jeśli chodzi o reguły nazewnictwa zmiennych, wydają się tak dobre, jak inne. To tak naprawdę nie ma znaczenia, dopóki masz pewną konsekwentną zasadę.


2 dla odpowiedzi nr 2

Tak, konwencja nazewnictwa Google wydaje się w porządku.

Jak widać, CMemory to popularna nazwamoże wygenerować dwuznaczność, gdy biblioteka jest używana, nawet jeśli CMemory jest pod przestrzeń nazw MyLib. Zwykle używasz jakiegoś prefiksu dla klas i inne obiekty dostępne w MyLib :: (na przykład: mlCMemory)?

Bez prefiksu Jaki byłby sens przestrzeni nazw, jeśli założymy, że nie wykonują swojej pracy.

Zauważ, że notacja węgierska (nazwy klas zaczynają się na C) niewiele dodaje, a Google też chyba jej nie używa.


0 dla odpowiedzi № 3

Czy Twoim zdaniem przewodnik po stylu Google C ++ jest dobry?

przeczytałem to kilka lat temu i nie zgadzałem się z wieloma rzeczami, wolałem też inne style i idiomy.

Naming

osobiście używam t_ dla klas i UpperCamel dla przestrzeni nazw:

namespace MonLibrary {
class t_basic_object;
}

jak również przedrostek d_ dla zmiennych składowych. ale ten opis pomija wiele innych konwencji, których używam.