Команда R & D, в которой я работаю, решила принять стандарт кодирования. Мы только недавно сформировались, и у нас слишком мало собственного кода и общего времени кодирования, чтобы основывать документ о стандартах / соглашениях на том, что органично развивалось в нашей команде, и на хороших примерах из нашего собственного кода и т. Д.
Теперь у каждого из нас есть некоторый опыт с прошлых рабочих мест - хотя никто из нас не в состоянии сказать: «Давайте примем этот всеобъемлющий документ, который я нашел подходящим для той работы, которую мы здесь делаем» (*). Кроме того, некоторые из нас (включая меня) имеют опыт работы только в тех местах, где нет официального стандарта кодирования, или пишут на разных языках в разных условиях (высокопроизводительная среда для еженедельных выпусков в отличие от более ориентированной на исследования работы по разработке)
Итак, один из вариантов, о котором я думал, это взять относительно известный и уважаемый документ, отхватить то, о чем мы не заботимся / заботиться, и внести некоторые изменения в соответствии с нашими предпочтениями.
Это обычная практика? Вы верите, что это хорошая идея? Если так, то какой будет разумный «базовый» стандарт кодирования (не говорите, что лучше, я не хочу начинать здесь религиозный конфликт; просто укажите, что было бы всеобъемлющим или «нейтральным» достаточно, чтобы опираться на .)
Ноты:
- Мы ожидаем работать с C, C ++, OpenCL, CUDA, Python.
- Наша команда состоит из 4 человек + менеджер, и ожидается, что она вырастет до 5-6 в течение года или около того.
- В нашей компании команды почти полностью автономны и обычно вообще не взаимодействуют (даже не используя код друг друга - работа ведется над совершенно разными проектами); так что - никаких соображений по всей компании.
- Что касается инструментов, на данный момент мы знаем, что мы будем использовать Eclipse , поэтому его средство форматирования кода будет, по крайней мере, одним инструментом. Ctrl + Shift + F давно мой друг
- Когда я пишу на Java, я придерживался практики максимально строгого соблюдения Эффективной Java Блоха . Это не совсем стандарт кодирования, но вы можете назвать кирпичи, цемент и строительный раствор стандартом кодирования. Я думал о том, чтобы включить что-то подобное как часть «микса» (имея в виду, что мы не делаем Java).
- Я имею в виде стандартов кодирования в широком смысле этого слова, например , принимая предложения , сделанные в ответы на этот P.SE вопрос .
- Я нашел большой список документов по стандартам C ++ ; Может быть, я должен сделать это нашей базой.
- (*) Это не совсем так, но я не хочу усложнять этот вопрос слишком многими деталями.