2009-08-22 1 views
3

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

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

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

+7

А? Он кладет одежду на стол? Вы имеете в виду, что он кодирует голый? – MusiGenesis

+1

Должен быть вики-сообществом, пожалуйста, отметьте его. –

+1

@MusiGenesis: Я собирался спросить об этом, но .. Ха-ха-ха! –

ответ

4

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

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

6

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

+1

Чтобы добавить к этому, похоже, что вы его помощник по работе, а не его менеджер. Вы должны поговорить с вашим менеджером о своих проблемах. –

0
  • Анонимно оставить на своем столе books, например «Code Complete» или «Refactoring».
  • Предполагая, что вы не являетесь его лидером, сообщите руководству о ваших проблемах и позвольте этому человеку взять на себя ответственность за проблему.
  • напишите некоторые модульные тесты, которые охватывают его код. Возможно, он не знает, как писать хорошие тесты, поэтому он может использовать ваши в качестве примера. Настройте автоматические сценарии, которые регулярно запускают эти тесты, и отправляют почту с подробным описанием того, что не удалось, поэтому он не может просто игнорировать присутствие этих тестов.
3

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

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

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

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

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

+0

Какой язык/процесс сборки вы используете? Вот инструмент для Java для проверки стиля кода: http://checkstyle.sourceforge.net/ –

1

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

В зависимости от языка, который использует ваш проект, возможно, есть инструменты для этого. Ex. StyleCop и FxCop для проектов C#.

+1

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

-1

У нас был парень на работе, который купался только один раз в неделю (и нет, он не был французским). И к концу недели его BO очень неплохо. Мы оставили кучу гигиенических продуктов на столе, чтобы он попытался дать ему ключ. Не работает. Кажется, он начал ходить через две недели после ванны. Уф. Это было 20 лет назад.

Кодирующие условные обозначения? Как что? Где положить фигурные скобки?

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

Неверный код? Может быть и так. Отправьте пример или два. Может быть, он хороший кодер, и ты не такой яркий. В конце концов, PM обычно не такие яркие, они просто знают, как поцеловать задницу лучше, чем некоторые из нас заботятся.

Дизайн шаблонов? Кормящий бинго-корм.

Но снимать одежду и оставлять их на вашем столе странно. ИМХО.

1

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