Руководство по стилю для 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 был плохим, и почему их мнение важно для вас?
Reactgular

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

Ответы:


15

Вы можете использовать руководство из этой книги для общего пользования:

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

от Херба Саттера и Андрея Александреску. Это не принимает во внимание C ++ 11, но я думаю, что будет новая редакция.

Но он не будет отвечать о количестве пробелов вместо вкладок или о том, какую эзотерическую нотацию вы хотите применить. Но это не самая важная вещь, в большинстве случаев ключом к определенности является последовательность.


22

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

Они написаны, среди прочих, Бьярном Страуструпом и Хербом Саттером .


1
Определенно лучше , чем решение Nikko в
WHN

8

Критика руководства по стилю Google C ++ (и я согласен, что некоторые из них оправданы) касается не соглашений об именах Google или стиля отступов, а скорее некоторых других их правил и политик. Соглашения об отступах / форматировании и присвоении имен являются делом вкуса и плодотворной почвой для бесконечных религиозных войн программистов, но в C ++, где, в отличие от C #, не существует универсального стандарта, единственное действительно важное руководство - это согласованность. Для нового проекта выберите соглашение об именах и стиль отступов, которые вам нравятся, и используйте их последовательно. Для существующего проекта придерживайтесь соглашения, уже используемого. Правило 0 в стандартах кодирования C ++ звучит так: «Не парься по мелочам». где они утверждают, что соглашения об именах и стиль отступов не так важны, пока вы

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

Clang-формат является автономным инструментом и не требует использования Clang в качестве компилятора. Там даже официальный плагин доступен для Visual Studio.


6

Как писал ранее @ user113896, Бьярне Строструп дал нам большое руководство по стилю. Одно из его замечательных достижений - книга по стилю кодирования JSF-C ++ . Осторожно, это не для обычного c ++, а для встроенного использования, но оно показывает, как все должно быть сделано, чтобы быть понятным и функциональным. Конечно - Вам не нужно все принимать во внимание - это руководство, а не книга заказов :).


2

Если вы не читали Программирование и принципы Бьярна Страуструпа, я настоятельно рекомендую вам прочитать его, потому что вы можете многому научиться у создателя языка. Я много смотрел и читал от автора C ++, и я могу сказать, что у него есть эта привязка к стилю и он всегда говорит людям писать хороший, красивый код, который, по его мнению, легче отлаживать и читать. Я считаю, что он величайший наставник и лучшее руководство по написанию стильного и красивого кода на C ++.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.