Стандарт кодирования C ++ для небольшой группы с использованием современных IDE - PullRequest
2 голосов
/ 09 августа 2010

Мы собираемся начать новый проект в нашей команде, которая состоит из менее чем 10 разработчиков. У нас есть доступ к современным IDE, таким как VS2010.

Проект очень динамичный (потребности пользователей меняются очень быстро) и кроссплатформенный. Поэтому мне нужен очень читаемый и очень подробный C ++ стандарт кодирования, чтобы новые разработчики могли легко изменить старые коды в будущем. Мне также нужно , чтобы не писать список , поэтому код будет компилироваться в разных ОС (по крайней мере, в Windows и Linux).

  • Есть ли такой стандарт?
  • Стандарты кодирования уже устарели?

Ответы [ 4 ]

7 голосов
/ 09 августа 2010

Стандарты кодирования остаются проблемой, потому что каждый в тайне думает, что может решить все мировые проблемы программирования с очень умным стандартом кодирования.А потом заставляет программистов следовать им.(Очень похоже на программистов.)

К сожалению, немногие стандарты кодирования решают проблемы, которые имеют значение в сложном проекте, например:

  • как правильно и эффективно разделить и смоделировать проблему
  • как программные разделы должны наилучшим образом взаимодействовать с другими
  • как должно быть написано объяснение логики («комментарий») для объяснения кода

Вместо этого большинство стандартов кодированиямелочи адреса, такие как:

  • отступ и стиль фигурной скобки
  • должны ли присутствовать комментарии или нет
  • механические правила построения идентификаторов
  • с произвольными ограничениямидля символов в строке, количества параметров и т. д. и т. д.

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

2 голосов
/ 09 августа 2010

Чтение Стандарты кодирования C ++ . Это не то, что большинство людей назвали бы документом по стандартам кодирования, но вы, вероятно, хотите его прочитать. Одним из первых руководств является не разбрасывать мелочи (не придавайте слишком большого значения деталям: сосредоточьтесь на правилах, которые влияют на семантику, а не на синтаксис, поскольку в предпочитают RAII над необработанными указателями вместо добавить скобки везде, в своей строке и с отступом 3 пробела )

1 голос
/ 09 августа 2010

Что касается стандарта кодирования, то в большинстве случаев не так важно, каковы конкретные стандарты кодирования, если они твердо стоят на месте.Вкладки против пробела?Какая разница.Выбери один и иди с ним.Фигурные скобки на той же строке, что и условная или следующая строка?Какая разница.Выберите один и будьте последовательны.

Мне лично нравятся стандарты кодирования ядра Linux.

http://www.kernel.org/doc/Documentation/CodingStyle

Это для C, а не C ++, но этохорошее место для начала по стандартам для вашего проекта.К сожалению, я сомневаюсь, что он предлагает предложения в списке «не писать».

0 голосов
/ 09 августа 2010

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

Это действительно очень удобочитаемый и очень подробный, но важные правила (те, которые появляются постоянно) немногочисленны и их легко запомнить. Они действительно упростили мою кодировку C ++, придав согласованность моим соглашениям по именованию и передаче аргументов функций.

Я знаю, что вы используете IDE, но пользователи emacs могут использовать свой файл "google.el" для автоматического форматирования. Существует также мощный сценарий "cpplint", который запускается через исходный файл и распечатывает нарушения стиля в том же формате предупреждений, что и gcc. Это позволяет быстро исправить нарушения стиля перед проверкой файла. Если ваша IDE может анализировать предупреждения gcc и переходить от предупреждения к предупреждению в исходном файле, то исправление таких нарушений становится несложным делом. Это делают Emacs и Eclipse CDT, как и другие редакторы / IDE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...