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 № 1Myś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.