Проводя ревью чужого кода вижу такое, от чего от фейспалмов болит лицо - код не соответствует никаким стандартам, методологиям и общим практикам. Программист, автор кода на вопрос "что за ерунда?" отвечает "так работает же!" или "мне так удобнее, я так привык, это быстро". Как быть в такой ситуации, особенно если в определённом будущем самому придётся работать над этим проектом?
Так вам же бабки платят за работу? Нудак делайте и всё, или если не можете пересилить себя и работать с таким плохим кодом, то отказывайтесь и всё. Он найдёт за деньги другого человека кто будет разбираться в его коде, только без нотаций как надо правильно делать...
Бля, я не понимаю таких людей... Ну если тебе показывают, что твой код дерьмо собачее, то надо спросить почему и попросить показать как надо, а не пререкаться...
Далеко с этим персонажем не уедете. ИМХО
Такого сразу нахуй посылать надо, если не хочет учиться... "Аргументы" у него -- просто пиздец...
Команды разные, проекты разные, но проекты периодически переходят от одного разработчика к другому. В компании нет жестких практик использования тех или иных фреймворков, но есть ревью кода друг друга (без обязательных правок).
Dmitry Shvalyov: Скажу, как это делается в компании, где работаю я:
1) Используется система контроля версий, каждая передвинутая таска -коммит в бранч.
2) Когда заканчивается история - делается pull request на merge с master.
3) Только если 2 других человека подтверждают - pull request удовлетворяется.
Попробуй выступить с инициативой ввести что-нибудь подобное.
Dmitry Shvalyov: на твоем месте написал бы отчет по код-ревью, где указал бы все моменты которые ты считаешь не правильными, получил бы по этому фидбек от разработчика и предоставил руководству, мол что пора вводить жесткие практики и их использование) Все обязательно письменно, трекер? почта?
Теперь взгляну с другой стороны) Часто с коллегами общаемся, есть косяки явные, а есть стилистика написания. Когда код ревью только начинает вводиться, у большинства коллег первый посыл - стандартизировать стилизацию кода (какие кавычки, сколько отступов, какие, где, как оформлять комментарии и т.д). Против чего я восстаю сразу же! Косяки, явные ошибки, не эффективные алгоритмы это одно, стилистика написания это другое. Легче всего разворачивать мне код, потому что я привык использовать одинарные кавычки, а комрады продавили в стандарт использование одинарных(пример высосан из пальца), но это исключительно крючкотворство.
Денис: Допустим тот же Ангуляр, есть много рекомендаций по его использованию - нет логики во вьюхах, не переполнять контроллеры, выносить функционал в фабрики, выносить общение с сервером в провайдеры. не использовать jquery и работу с DOM в контроллерах и тд.
Если не придерживаться этих правил, то всё будет работать, но будет полный капец! Т.е. проблема не в кавычках и отступах, а немного сложнее.
Dmitry Shvalyov: А ну, т.е вы по делу ругаетесь) Вам даже есть на что ссылаться! Давите через админюресурс, что человек не выполняет "рекомендации по использованию Ангуляр" если руководитель не технарь, наверно придется перевезти претензии в бизнес-термины)) "логика во вьюхах, не по станлдарту, сильно увеличит затраты на поддержание и доработку проекта в дальнейшем"
Dmitry Shvalyov: когда перешел на позицию "руководителя группы", начал гуглить, с чем вообще придется столкнуться) Первая фраза была "говнокода будет много" )) Так и вышло, это конечно ужос, с многим приходиться мириться( Скажем когда половина функционала тупо не работает, а половина работает но говнокод ппц! То в условиях сжатых сроков, приходится сосредоточиться, на том что не работает вообще, не оставив время на рефакторинг говнокода(
Dmitry Shvalyov: Скажем так, я работаю в ОЧЕНЬ крупной компании. Новый проект стартанул 4 месяца назад. Уже целая тайга языков и технологий. Это неизбежно.
обращаться непосредственному начальнику. Потому что потом очень тяжко будет сопровождать!
вот я проект переделываю. Внимание! на одном файле 2000 строк PHP кода. с кучей if else , со вставками сss И js. Если честно, не хочу завтра на работу))))
-------------------------