2008-10-21 3 views
6

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

Процесс проверки кода является дотошным и обычно снижает производительность разработчиков, проводящих обзор. И иногда период «промывания мозгов» затягивается на 2 или 3 месяца. Иногда исправления тонкие (например, структурирование оператора IF, чтобы оно было короткое замыкание как можно раньше), и иногда вы не можете не поднять бровь (например, объявить строку и установить ее в String.Empty и на следующей строке присвойте ему другое значение).

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

Что делают другие в подобных обстоятельствах? Какие процессы или инструменты вы используете? Есть ли способ автоматизировать это? Я рассмотрел FxCop, но на самом деле не попробовал и не знаю, поможет ли это на самом деле помочь сократить время и усилия или, если это даже правильный инструмент? По логистическим причинам мы не можем делать парное программирование, если это было предложение. И я бы сомневался в этом, уменьшив усилия.

Мы попытались сохранить внутреннюю вики «исправлений», но это не так печально. Отсутствие правоприменения, а также потому, что легче «кого-то исправить свои ошибки», а не «читать и пытаться предотвратить ошибки».

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

Большое спасибо.

EDIT: Спасибо за все ответы. Не уверен, есть ли правильный ответ на этот вопрос, но я буду отмечать как правильный тот, который я обязательно буду пытаться.

+1

Этот вопрос не соответствует теме, поскольку он не находится в рамках обсуждения, как описано в справочном центре. – Will 2013-08-23 15:19:57

ответ

6

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

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

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

2

Я не уверен, есть ли у вас некоторые из них на месте, но они могут быть полезны.

  • период обучения для новых сотрудников - где они получают ориентированные на что-либо и все о вашей компании, в том числе части по стандартам коды.
  • Штрафы за несоблюдение стандартов кода - есть ли у вас «нормальный банк с нормальным кодом», где они платят штраф за несоблюдение стандартов, или они должны обращаться с вами на обед за каждые 10 или около того нарушений. Конечно, негативная мотивация не всегда работает
  • Удалите свои коммиты, которые не соответствуют стандартам - не уверены, разрешены ли все системы управления версиями, но если кодер совершает несоответствующий код, то это означает, что это должен идти. Никаких оправданий.

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

+0

Да, у нас есть период обучения, когда часть более общих стандартов кодирования передается новым сотрудникам. Но, как я уже сказал, проще, чтобы кто-то заметил ваши ошибки, чем попытаться их не сделать. Какие штрафы вы делаете сейчас? – Fung 2008-10-21 09:24:45

+0

Я действительно очень ненавижу идею штрафов, и даже если бы я не квалифицировал ее как «фашистскую», я бы не согласился с этим и немедленно ушел в отставку. Государство не может удовлетворить вас не вашими коллегами. Что дальше ? создавая тюрьму в подвале? – Barth 2008-10-21 09:25:16

2

Если вы строго придерживаетесь своих стандартов кодирования и выполняете всю эту работу вручную, вы можете значительно сэкономить время, используя несколько автоматизированных инструментов. Они сделают жизнь ваших старших разработчиков намного проще (я полагаю, вы используете.NET, как вы упомянули FxCop):

  1. На стороне клиента - вы можете использовать такие вещи, как ReSharper R# с функциональностью шаблонов, чтобы убедиться, что код соответствует вашим руководящим принципам
  2. На стороне сервера - вам необходимо настроить Система непрерывной интеграции и интегрируйте в нее инструменты, такие как FxCop. Мы используем FxCop и дополняем его продуктом нашей компании под названием PBA, которая позволяет использовать те же функции.
0

Может быть, это на самом деле не связаны с тем, что вы просили, но я просто хочу поделиться с вами, ребята:

После того, как мой учитель алгоритм увидел, что кто-то носит футболку надпись на нем: "Нет ошибок, хороший программист! " Затем он сказал: «Я так не думаю. У вас должны быть ошибки, чтобы быть хорошим программистом». -Это был интересный момент.

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

0
  1. ли обучение стандартов код и иметь ссылочный документ
    • Используйте проверку инструмент кода стиля - даже лечить некоторые ошибки в стиле, как строить ошибки
    • ли анализ коды на совершает
    • системы управления Источником разрешить настройку крючков и очередей фиксации, поэтому никакой плохой код не поступает в основное дерево.
    • Получаемое время от времени время, время от времени, время от времени, время от времени, время от времени, время от времени, время от времени время от времени посылается электронное письмо с подсказками «уроки» и «стилизация». Иногда «почему» некоторых рекомендаций не является очевидным для всех и, таким образом, трудно применять, поэтому такая почта может даже вызвать дискуссию по обеду/кофе, о которой каждый может узнать.
0

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

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

Смежные вопросы