Прямо сейчас я использую руководство по стилю Google C ++ в своем коде C ++, и мне это очень понравилось.
Недавно мне сказали, что это руководство очень плохое: оно используется внутри Google (я знал это), устарело и пропагандирует некоторые очень плохие практики. Поэтому я хочу использовать другой стиль кодирования.
Какие хорошие и честно используемые руководства по стилю C ++ существуют? Я пишу код как для gcc, так и для Visual Studio, и использую множество функций C ++ 11.
Что мне очень понравилось в Руководстве по стилю Google C ++, так это отступ, пробел и соглашения об именах (особенно имена всех классов, типов - включая typedefs, псевдонимы типов и псевдонимы шаблонов - с заглавной первой буквой).
Я знаю, что любой ответ является субъективным (я надеюсь, что это нормально на этом сайте), и я был бы признателен за любое мнение, но мне интересно, какие руководства используются в эти дни.
источник
Ответы:
Вы можете использовать руководство из этой книги для общего пользования:
http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586
от Херба Саттера и Андрея Александреску. Это не принимает во внимание C ++ 11, но я думаю, что будет новая редакция.
Но он не будет отвечать о количестве пробелов вместо вкладок или о том, какую эзотерическую нотацию вы хотите применить. Но это не самая важная вещь, в большинстве случаев ключом к определенности является последовательность.
источник
В Основных принципах C ++ представляют собой набор проверенных и истинную руководящих принципы, правил и наилучшие виды практики кодирования в C ++, вы можете найти их здесь: https://github.com/isocpp/CppCoreGuidelines
Они написаны, среди прочих, Бьярном Страуструпом и Хербом Саттером .
источник
Критика руководства по стилю Google C ++ (и я согласен, что некоторые из них оправданы) касается не соглашений об именах Google или стиля отступов, а скорее некоторых других их правил и политик. Соглашения об отступах / форматировании и присвоении имен являются делом вкуса и плодотворной почвой для бесконечных религиозных войн программистов, но в C ++, где, в отличие от C #, не существует универсального стандарта, единственное действительно важное руководство - это согласованность. Для нового проекта выберите соглашение об именах и стиль отступов, которые вам нравятся, и используйте их последовательно. Для существующего проекта придерживайтесь соглашения, уже используемого. Правило 0 в стандартах кодирования C ++ звучит так: «Не парься по мелочам». где они утверждают, что соглашения об именах и стиль отступов не так важны, пока вы
Большим стимулом производительности для меня стала автоматизация отступов / форматирования с использованием clang-формата . После того, как вы определились с некоторыми правилами отступов и форматирования, я настоятельно рекомендую настроить настроенный файл конфигурации в формате .clang, и вам больше не придется об этом беспокоиться :-)
Clang-формат является автономным инструментом и не требует использования Clang в качестве компилятора. Там даже официальный плагин доступен для Visual Studio.
источник
Как писал ранее @ user113896, Бьярне Строструп дал нам большое руководство по стилю. Одно из его замечательных достижений - книга по стилю кодирования JSF-C ++ . Осторожно, это не для обычного c ++, а для встроенного использования, но оно показывает, как все должно быть сделано, чтобы быть понятным и функциональным. Конечно - Вам не нужно все принимать во внимание - это руководство, а не книга заказов :).
источник
Если вы не читали Программирование и принципы Бьярна Страуструпа, я настоятельно рекомендую вам прочитать его, потому что вы можете многому научиться у создателя языка. Я много смотрел и читал от автора C ++, и я могу сказать, что у него есть эта привязка к стилю и он всегда говорит людям писать хороший, красивый код, который, по его мнению, легче отлаживать и читать. Я считаю, что он величайший наставник и лучшее руководство по написанию стильного и красивого кода на C ++.
источник