Посібник зі стилю для C ++ [закрито]


29

Зараз я використовую Посібник зі стилів Google C ++ у своєму коді C ++, і я був дуже задоволений цим.

Нещодавно мені сказали, що цей посібник дуже поганий: він використовується внутрішньо від Google (я це знав), застарілий і пропагує деякі дуже погані практики. Тому я хочу використовувати інший стиль кодування.

Які хороші та досить використані посібники зі стилю C ++ є? Я пишу код як для gcc, так і для Visual Studio, і використовую безліч функцій C ++ 11.

Що мені дуже сподобалось у Посібнику зі стилів Google C ++, це відступ, пробіл та конвенції імен (спеціально називаючи всі класи, типи - включаючи typedefs, псевдоніми типів та псевдоніми шаблонів - з великої літери).

Я знаю, що будь-яка відповідь суб'єктивна (сподіваюся, що це нормально на цьому сайті), і я буду вдячний за будь-яку думку, але мені цікаво, які посібники використовуються в наші дні.


1
Ви завжди можете використовувати будь-який стиль, який вам подобається, а потім переформатувати його на бажаний стиль, коли вам доведеться поділитися ним. Ось формат-формат, який автоматизує цей astyle.sourceforge.net
Reactgular

7
Це питання має потенціал для відповідей, заснованих на думці. Замість того, щоб закривати це з цієї причини, я б закликав відповідачів зосередитися на фактах, таких як відомі способи використання, рекомендації органів влади, порівняльні дослідження тощо.
andy256

@ andy256 Я не міг би сказати це краще і сам.
болов

7
Хто сказав вам, що стиль Google поганий, і чому їх думка має значення для вас?
Реакційний

@MathewFoscarini тут відбулося досить недавнє обговорення, хоча воно було не надто поглибленим: chat.stackoverflow.com/rooms/10/conversation/… (але потім, переглядати його поглиблено - це як пройти FQA )
Cubbi

Відповіді:


15

Ви можете використовувати настанови з цієї книги для загального використання:

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

від Герба Саттера та Андрія Олександреску. Це не враховує C ++ 11, але я думаю, що буде нове видання.

Але він не відповість про кількість місця замість вкладок або про те, які езотеричні позначення ви хочете застосувати. Але це не найважливіше, головна частина часу - лише мати певну послідовність.


22

The Основних принципах C ++ є набором перевірених і справжню керівних принципи, правил і найкращі види практики кодування в C ++, ви можете знайти їх тут: https://github.com/isocpp/CppCoreGuidelines

Вони написані, серед інших, Bjarne Stroustrup та Herb Sutter .


1
Безумовно краще , ніж рішення Nikko в
WHN

8

Критика керівництва Google щодо стилю C ++ (і я погоджуюся, що деякі виправдані) стосується не конвенцій Google про назву чи стику відступу, а щодо деяких інших їх правил і правил. Відступи / форматування та називання конвенцій є чимось справою смаку і є благодатним ґрунтом для нескінченних релігійних воєн програміста, але в C ++, на відміну від C #, немає універсального стандарту, єдиним дійсно важливим керівним принципом є послідовність. Для нового проекту виберіть уподобаний стиль і відступ, який вам подобається, і використовуйте його послідовно. Для існуючого проекту дотримуйтесь конвенції, яка вже використовується. Правило 0 у стандартах кодування C ++ - це "Не потійте дрібні речі". де вони стверджують, що називання конвенцій та стиль відступу просто не такі важливі, поки ви '

Великим підвищенням продуктивності для мене було автоматизація відступу / форматування за допомогою кланг-формату . Після того, як ви зупинитесь на деяких правилах відступу та форматування, я настійно рекомендую налаштувати індивідуальний файл конфігурації формату .clang, а потім більше не турбуватися про це :-)

Формат Clang - це окремий інструмент, і він не вимагає використання clang як компілятора. Там навіть офіційний плагін доступний для Visual Studio.


6

Як раніше писав @ user113896, Bjarne Strostrup дав нам багато рекомендацій щодо стилю. Одне з його чудових досягнень - книга стилю кодування JSF-C ++ . Обережно, це не для регулярного використання C ++, більше для вбудованого використання, але воно показує, як слід робити, щоб бути чіткими та функціональними. Звичайно - не потрібно брати до уваги все - це путівник, а не книга замовлень :).


2

Якщо ви ще не читали Програмування та принципи Б'ярне Струструпа, я настійно рекомендую прочитати його, оскільки ви можете багато чого навчитися від творця мови. Я багато переглядав і читав від автора C ++, і можу сказати, що він має цю фіксацію стилю і завжди говорить людям, щоб вони писали гарний, красивий код, який, на його думку, простіше налагоджувати та читати. Я вважаю, що він є найбільшим репетитором та найкращим посібником із написання стильного та красивого коду на C ++.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.