У Вас есть стандарты кодирования? Если так, как они осуществляются? [закрытый]

21
задан Community 23 May 2017 в 12:30
поделиться

13 ответов

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

Несколько предложений:

  • самая важная вещь состоит в том, чтобы получить закрытие сделки к идее, что непротиворечивость превосходит Ваш персональный предпочтительный стиль. Должно быть обсуждение стандарта кодирования и прежде и после того, как это установлено, но никому нельзя разрешить просто выбрать из него.
  • обзоры Кода должны быть обязательными с комментарием регистрации включая имя пользователя рецензента. Если Вы используете соответственно мощный SCM, рассматриваете не разрешение checkins, которые не сделали, чтобы допустимый рецензент назвал.
  • должен быть документ, который все знают о разметке стандартов кодирования. С достаточным количеством детали Вы не должны попадать слишком много путем аргументов.
  • , Где возможно, автоматизируйте проверку соглашений (через Линт, CheckStyle, FXCop и т.д.), таким образом, и для разработчика и для рецензента легко получить быструю проверку вещей как упорядочивание директив импорта/использования, пробел и т.д.

, преимущества:

  • , Прежде всего, непротиворечивость - при создании его так, чтобы любой мог чувствовать "дома" в любой части кодовой базы в любое время, это дает Вам больше гибкости.
  • Распространяющаяся лучшая практика - если Вы запрещаете общедоступные поля, изменяемые структуры и т.д. тогда, никто не может случайно подложить бомбу замедленного действия в Вашем коде. (По крайней мере, не бомба замедленного действия это охвачено стандартом. Нет никакого стандарта кодирования для идеального кода, конечно:)

РЕДАКТИРОВАНИЕ: Я должен указать, что кодирующие стандарты, вероятно большинство важны при работе в крупных компаниях. Я полагаю, что они помогают даже в небольших компаниях, но существует, вероятно, меньше потребности процесса вокруг стандарта в той точке. Помогает, когда все разработчики знают друг друга лично и все соразмещены.

26
ответ дан 29 November 2019 в 20:59
поделиться

У Вас есть стандарты кодирования?

Да, отличается от проекта до проекта.

, Что это покрывает?

Код (класс, переменная, метод, постоянный), SQL называющее и форматирующее соглашение

, это сопровождает всеми?

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

И что Вы делаете (если что-нибудь) для проверки все следуют стандарту?

Использование StyleCop и FxCop для обеспечения они неукоснительно сопровождаются. Это обнаружилось бы как [1 120] предупреждение/ошибка, если коду не удается соответствовать организации, кодирующей соглашение.

система Команды Visual Studio имеет хороший код anlysis и политики регистрации , который предотвратил бы разработчиков, регистрирующихся в коде, который не соответствует

Hope, это помогает

Спасибо, Maulik Modi

3
ответ дан 29 November 2019 в 20:59
поделиться

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

Это - что-то вроде неприятности (для меня), поскольку различные пробельные изменения фиксируются как обновления репозитория SVN...

2
ответ дан 29 November 2019 в 20:59
поделиться

StyleCop делает хорошее задание осуществления методов расположения кодирования, и можно записать пользовательские правила для него, если что-то не охвачено в основных правилах, который важен для Вас.

2
ответ дан 29 November 2019 в 20:59
поделиться

Я думаю, кодируя стандарты, очень важны. Нет ничего более расстраивающего, чем попытка найти, что различия между двумя изменениями файла только находят, что целый файл был изменен кем-то, кто переформатировал все это. И я знаю, что кто-то собирается сказать, что такая практика должна искореняться, но большинство IDE имеет, 'переформатировали файл' функция (Ctrl-D Ctrl-K в Visual Studio, например), который делает хранение Вашего кода размеченным приятно намного легче.

я видел сбой проектов через отсутствие кодирования стандартов - войны курчавой фигурной скобки в моей последней компании были contributary к разбивке в команде.

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

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

1
ответ дан 29 November 2019 в 20:59
поделиться

У меня есть комбинация персональных и компании, кодирующей стандарты, которые все еще развиваются в некоторой степени. Они покрывают структуру кода, тестирование и различные документы, описывающие различные биты функциональности.

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

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

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

1
ответ дан 29 November 2019 в 20:59
поделиться

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

  • Документ и обеспечивает модульные тесты, которые иллюстрируют все типичные сценарии для использования данного интерфейса к данной стандартной программе или модулю.
  • , Где возможное применение следующие библиотеки контейнерных классов, и т.д.
  • Использование утверждает для проверки входящих параметров и возвращенных результатов (C & C++)
  • Минимизируют объем всех переменных
  • элементы объекта Доступа через методы
  • новое Использование и удаляют по malloc и свободный
  • Использование предписанные соглашения о присвоении имен

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

0
ответ дан 29 November 2019 в 20:59
поделиться

Ах да я - полиция стандарта кодирования:) Я просто записал простой сценарий, чтобы периодически проверить и зафиксировать код (мой стандарт кодирования достаточно прост для реализации этого.) Я надеюсь, что люди получат сообщение после наблюдения всех этих "сообщений" очисток соглашения кодирования:)

0
ответ дан 29 November 2019 в 20:59
поделиться

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

Однако, поскольку у нас есть основные разработчики для каждого из специализированных модулей или компонентов, и некоторые дополнительные разработчики, которые могут работать в тех модулях, у нас есть следующее основное правило:

"Поддерживают стиль, используемый основным разработчиком"

Поэтому, если он хочет сделать 3 добавления отступа пространства, сделайте это сами также.

Это не идеально, поскольку это могло бы потребовать, повторно настраивают Ваши настройки редактора, но это сохраняет мир:-)

0
ответ дан 29 November 2019 в 20:59
поделиться

у Вас есть стандарты кодирования? Что это покрывает?

Да, это имеет соглашения о присвоении имен, обязательные фигурные скобки после, если, в то время как..., никакое предупреждение не позволило, рекомендации для выравнивания на 32/64 бита, никакого магического числа, защиты заголовка, инициализации переменных и форматирования правил что непротиворечивость пользы для унаследованного кода.

это сопровождает всеми? И что Вы делаете (если что-нибудь) для проверки все следуют стандарту?

Главным образом, добираясь соглашение команды и несколько легкий стандарт кодирования (меньше чем 20 правил) помогли нам здесь.

, Как это осуществляется?

Мягко, у нас нет полицейского стандарта кодирования.

  • Приложение стандарта проверяется во время обзора
  • , у Нас есть шаблонные файлы, которые обеспечивают стандартный шаблон
0
ответ дан 29 November 2019 в 20:59
поделиться

Я никогда не видел сбоя проекта из-за отсутствия кодирования стандартов (или соблюдение их), или даже имею любой эффект на производительность. Если Вы проводите какое-либо время при осуществлении их тогда, Вы тратите впустую деньги. Существует столько важных вещей волноваться о вместо этого (как качество кода).

Создают ряд предложенных стандартов для тех, кто предпочитает иметь что-то, чтобы следовать, но оставить его в этом.

0
ответ дан 29 November 2019 в 20:59
поделиться

JTest ParaSoft достоин для Java.

0
ответ дан 29 November 2019 в 20:59
поделиться

Наши стандарты кодирования перечислены в Руководстве нашего Программиста, таким образом, все могут легко обратиться к ним. Они являются эффективными просто, потому что мы имеем, покупают акции от всех членов команды, потому что люди не боятся повысить стандарты и проблемы стиля во время обзоров кода, и потому что они позволяют определенный уровень гибкости. Если один программист создает новый файл, и она предпочитает помещать скобку в ту же строку как, если оператор, который устанавливает норму для того файла. Любой изменяющий тот файл в будущем должен использовать тот же стиль для хранения вещей последовательными.

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

    static       // Scope
    void         // Type declaration 
func(

char   al,                //IN: Description of al
intl6u hash_table_size,   //IN/OUT: Description of hash_table_size
int8u  s)                 //OUT: Description of s
{
<local declarations>

        <statements>
}

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

0
ответ дан 29 November 2019 в 20:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: