Przewodnik po stylach dla C ++ [zamknięty]


29

Obecnie używam Przewodnika po stylu Google C ++ w kodzie C ++ i byłem z tego bardzo zadowolony.

Ostatnio powiedziano mi, że ten przewodnik jest bardzo zły: jest używany wewnętrznie przez Google (wiedziałem o tym), jest nieaktualny i promuje niektóre bardzo złe praktyki. Chcę więc użyć innego stylu kodowania.

Jakie są dobre i rzetelnie używane przewodniki w stylu C ++? Piszę kod zarówno dla gcc, jak i Visual Studio i używam wielu funkcji C ++ 11.

Najbardziej podobało mi się w Przewodniku po stylu Google C ++: wcięcia, białe znaki i konwencje nazewnictwa (szczególnie nazywanie wszystkich klas, typów - w tym typedef, aliasów typów i aliasów szablonów - wielką pierwszą literą).

Wiem, że każda odpowiedź jest subiektywna (mam nadzieję, że jest to w porządku na tej stronie) i byłbym wdzięczny za każdą opinię, ale jestem zainteresowany, które przewodniki są obecnie używane.


1
Zawsze możesz użyć dowolnego stylu, który ci się podoba, a następnie sformatować go do preferowanego stylu, gdy musisz go udostępnić. Oto formatator
Reactgular

7
To pytanie ma potencjał dla odpowiedzi opartych na opiniach. Zamiast tego z tego powodu zachęcałbym ankieterów do skupienia się na faktach, takich jak znane zastosowania, zalecenia władz, badania porównawcze i tym podobne.
andy256

@ andy256 Nie mogłem tego lepiej powiedzieć.
bolov

7
Kto powiedział ci, że styl Google'a jest zły i dlaczego ich opinia ma dla ciebie znaczenie?
Reactgular,

@MathewFoscarini odbyła się tutaj dość niedawna dyskusja, nawet jeśli nie była ona zbyt dogłębna: chat.stackoverflow.com/rooms/10/conversation/... (ale wtedy szczegółowe zapoznanie się z nią jest jak przejście przez FQA )
Cubbi

Odpowiedzi:


15

Wytyczne z tej książki można wykorzystać do ogólnego użytku:

http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586

od Herb Sutter i Andrei Alexandrescu. Nie bierze jednak pod uwagę C ++ 11, ale myślę, że będzie nowa edycja.

Ale nie odpowie na liczbę spacji zamiast tabulatorów ani na rodzaj ezoterycznej notacji, którą chcesz wymusić. Ale to nie jest najważniejsze, w większości przypadków kluczem jest zachowanie spójności.



8

Krytyka przewodnika po stylu C ++ firmy Google (i zgadzam się, że niektóre są uzasadnione) nie dotyczy konwencji nazewnictwa Google ani stylu wcięć, ale raczej niektórych innych zasad i zasad. Konwencje wcięć / formatowania i nazewnictwa są zarówno kwestią gustu, jak i żyznym gruntem dla niekończących się wojen religijnych programistów, ale w C ++, w przeciwieństwie do C #, nie ma uniwersalnego standardu, jedyną naprawdę ważną wytyczną jest spójność. W przypadku nowego projektu wybierz konwencję nazewnictwa i styl wcięcia, które Ci się podobają, i używaj jej konsekwentnie. W przypadku istniejącego projektu trzymaj się już stosowanej konwencji. Zasadą 0 w standardach kodowania C ++ jest „Nie przejmuj się małymi rzeczami”. gdzie twierdzą, że konwencje nazewnictwa i styl wcięcia nie są tak ważne, dopóki „

Dużym narzędziem zwiększającym produktywność była dla mnie automatyzacja wcięć / formatowania clang . Po ustaleniu zasad wcięcia i formatowania, zdecydowanie zalecam skonfigurowanie niestandardowego pliku konfiguracyjnego w formacie .clang, a potem nigdy więcej się o to nie martwić :-)

Format clang jest samodzielnym narzędziem i nie wymaga używania clang jako kompilatora. Istnieje nawet oficjalna wtyczka dostępna dla Visual Studio.


6

Jak wcześniej napisał @ user113896, Bjarne Strostrup dał nam wiele wskazówek dotyczących stylu. Jednym z jego wspaniałych osiągnięć jest książka w stylu JSF-C ++ . Uwaga, to nie jest zwykłe c ++, a bardziej do wbudowania, ale pokazuje, jak należy to zrobić, aby było jasne i funkcjonalne. Oczywiście - nie musisz brać pod uwagę wszystkiego - to przewodnik, a nie książka zamówień :).


2

Jeśli nie przeczytałeś Programowania i zasad Bjarne Stroustrup, zdecydowanie zalecamy przeczytanie go, ponieważ możesz się wiele nauczyć od twórcy języka. Dużo oglądałem i czytałem od autora C ++ i mogę powiedzieć, że ma on tę poprawkę do stylu i zawsze mówi ludziom, aby pisali dobry, piękny kod, który według niego jest łatwiejszy do debugowania i czytania. Uważam, że jest najlepszym nauczycielem i najlepszym przewodnikiem po pisaniu stylowego i pięknego kodu C ++.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.