Должен ли я настаивать на том, чтобы мы выполняли обзоры кода, прежде чем слиять в туловище?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/9268

Вопрос

Запрашивается повторный стол из Stackoverflow:

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

Моя проблема заключается в том, что я настаивал на обзорах кода, прежде чем слияние обратно в Trunk более года. Все согласились на это, но все же это только мой код, который был рассмотрен. Вернувшись из долгих отпуска, я возвращаюсь в туловище с комментариями кода, как «это уродливое решение - удалить как можно скорее» и «быстрое исправление». Что также является новым, так это то, что парень был назначен ответственным за инструмент. (Роль, которая впервые была предложена мне, но я отказался из -за не связанной с работой причиной.) И он думает, что это хороший способ работы: поскольку у нас есть такое ограниченное время для развития, мы должны сократить такие углы.

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

Должен ли я настаивать на том, чтобы мы выполняли обзоры кода, прежде чем слиять в туловище или я просто сука качества кода?

Это было полезно?

Решение

Я был в подобных ситуациях раньше, и ИМХО это зависит от «я должен поддерживать код».

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

При чтении этого:

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

Я думаю, что ваша проблема больше, чем просто обзоры кода. Похоже, вам не хватает нескольких рекомендаций и/или они не реализованы. Не иметь/мало модульных тестов может быть плохой идеей, но зависит от конкретного случая. Однако, breaking encapsulation, writing huge classes, ... Действительно сделайте код, подверженные ошибкам, чтобы это определенно было исправлено.

Другие советы

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

И небольшие комментарии относительно исправлений вашего коллеги - иногда делая уродливое исправление правильное решение. Анкет Может случиться так, что этот конкретный код недостаточно важен, чтобы инвестировать много времени, возможно, просто простое решение достаточно, и лучше инвестировать время в другие вещи. Создание вашего кода «симпатичным» не является вашей главной целью как программиста. Ваша главная цель - доставить И одержимость каждой строкой кода просто не доставит вас туда.

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

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

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

Не уверен, что проверка кода является ответом, пока кто -то не начнет обеспечивать соблюдение лучших стандартов кодирования. Кто -то пишет дерьмовый код, комментирует/признает его и в любом случае проверяет. Что хорошего в обзоре, если кто -то захочет отклонить код, но он заставит вас за график?

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

Лицензировано под: CC-BY-SA с атрибуция
scroll top