Стиль кодирования: Как улучшить стили кодирования и стандарты в компании

Существует __debug__, который является специальным значением, которое действительно предварительно обрабатывает компилятор.

if __debug__:
  print "If this prints, you're not running python -O."
else:
  print "If this prints, you are running python -O!"

__debug__ будет заменен постоянным 0 или 1 компилятором, и оптимизатор удалит любой if 0: строки, прежде чем Ваш источник будет интерпретирован.

13
задан Seb Nilsson 22 September 2009 в 16:06
поделиться

7 ответов

Самый простой способ установить стандарты кодирования в компании:

Создать документ стандартов и обеспечить его соблюдение.

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

6
ответ дан 1 December 2019 в 22:58
поделиться

У стиля кодирования есть две основные стороны:

  1. «Куда поставить открывающую скобку?» проблемы с типами - обычно они не важны, т.е. нет реальных причин предпочитать один стиль другому.
  2. Фактические правила кодирования, например, мы используем return в середине функции.

Как я это вижу, по вопросам типа №1 нет смысла спорить. Просто установите стандарт в стандарте и обеспечьте его соблюдение (подробнее об этом позже).

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

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

Например, даже будучи совершенно новым программистом на Java, я знал, когда использовать верхний / нижний регистр. идентификаторы просто потому, что Eclipse позволил мне (тихо, ненавязчиво) узнать, что это за стандарт.

4
ответ дан 1 December 2019 в 22:58
поделиться
​​

Вы всегда можете использовать бесплатные инструменты, такие как StyleCop от Microsoft.

Вы можете отключить или изменить правила, которые вам не нравятся

5
ответ дан 1 December 2019 в 22:58
поделиться

Как можно обосновать, что что-то прямо над чем-то еще?

Легко: просто не надо. Выберите стиль кодирования, сообщите о нем и обеспечьте его соблюдение.

1
ответ дан 1 December 2019 в 22:58
поделиться

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

Существует множество инструментов для (автоматической) проверки и обеспечения соблюдения кодирования -стиль. (Примером для java-мира является checkstyle, который можно интегрировать в eclipse, а также в решение для непрерывной интеграции, такое как «hudson».)

1
ответ дан 1 December 2019 в 22:58
поделиться

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

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

0
ответ дан 1 December 2019 в 22:58
поделиться

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

Каждый разработчик может работать со своим собственным стилем кода в своей среде (переформатирование может быть очень простым, в зависимости от вашей среды), но весь зарегистрированный код должен соответствовать стилю компании.

Какой стиль вы выберете? Что ж, часто уже есть популярные стили - в зависимости от языка. Для вашего примера (C #) я бы выбрал стиль Microsoft. Наконец: только руководитель проекта (старший программист) имеет право его настраивать.

3
ответ дан 1 December 2019 в 22:58
поделиться
Другие вопросы по тегам:

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