Він відмовляється слухати команду, і нещодавно він припинив огляди коду, тестування блоку, обмін деталями реалізації ...
Огляди коду не обов'язково вимагають від кодера надіслати роботу на рецензію.
Простий спосіб відстежувати, що він робить, - це слідкувати за історією VCS, шукаючи його реєстрації. Якщо ви переживаєте за його код, це простий спосіб знайти його. Отримайте різну історію, подивіться, що він вклав, і побачите, чи на вас вискакують червоні прапори. Ловіть його чеки досить швидко, і якщо у вас виявиться проблема, ви можете відмовитись від комісії та надіслати електронною поштою йому цю дію. Вам дозволяється викликати своїх колег, навіть як молодших кодерів, коли ви бачите щось явно не так.
Так, він швидко "кодує", але його код - це лише помилка генератора. Інші члени команди та я знаходяться у фазі "виправлення помилок", і 80% помилок походять з його коду. Я не хочу виправляти його помилки. І управління сліпе, або не хоче цього бачити, або, можливо, їм подобається його "швидкість".
Код випливає з вимог. Вимоги призводять до виконання тестів, які можна виконати, що підтверджують, що вимоги виконані. Ці тести можна додатково розбити, і їх можна скласти до того, як будуть внесені зміни, щоб переконатися, що зміни відповідають вимогам (червоно-зелений-рефактор; суть TDD).
Додайте метрику "покриття коду" на сервер збирання вашої команди (сподіваємось, у вас є такий; якщо ні, це ваша перша проблема). Проста перевірка того, що проходять одиничні тести, не призведе до проблем з його новим кодом без TDDed, зробленим у районах, де немає одиничних тестів. Після виконання всіх тестів на одиниці, сервер збірки повинен був в ідеалі виконати кожен рядок коду, але дійсно є деякі речі, які ви просто не можете одинично перевірити. Реально ви все одно можете очікувати 95% покриття або краще (або виключити певні бібліотеки чи типи файлів із покриття). Рано чи пізно ваш ковбой перевірить щось, що порушує збірку, тому що він знизив рівень покриття нижче порогу, і ви зателефонуєте йому.
Що стосується "швидкості", швидкість - це те, наскільки швидко ви робите речі "зроблені", і це не "зроблено", поки це не буде зроблено правильно. Ви можете поставити це своїм менеджерам таким чином; Подумайте про автомеханіка, який, коли менеджер бере свій BMW, щоб отримати масло, він забуває повернути пробку з маслом, і, як результат, все нове масло виливається, перш ніж він навіть виїжджатиме з гаража. Звичайно, зміна масла зайняла лише п’ять хвилин, але менеджер не піде про це піклуватися, коли двигун його машини заїжджає по дорозі додому. Він піклується про те, щоб механік пропустив крок, що коштуватиме йому багато додаткових часу та грошей, щоб зафіксувати. Зараз він платить одному ковбою, щоб зробити роботу дуже швидко, і тоді він s виплачувати решті команди набагато більшу суму, щоб прийти і виконати роботу правильно. У чому, справді, перевага продовжувати дозволяти ковбою робити свою справу?
Чи є спосіб, що я (як його молодший колега за віком, а не його начальник) можу щось з цим зробити?
Зателефонуйте йому. Коли ви знайдете щось, що він перекрутив, покажіть йому, як його код виходить з ладу, як він міг запобігти проблемі в першу чергу (включаючи належний дизайн, TDD, огляди коду) і що вам потрібно чи потрібно буде зробити в результаті виправити його зламаний код.
Я відчуваю, що я останній, хто насправді переймається проектом.
клаксони горять, блимають фари, плачуть сирени - якщо ви справді відчуваєте, що ви єдина людина, яка піклується про якість коду, що виробляється командою, то виникає СЕРЕДНА проблема. Якщо ви відчуваєте, що намагаєтесь перетягнути всю команду, що б'є і кричить, в епоху хорошого кодування, і це просто занадто велика вага, щоб тягнути її, тоді киньте її. Якщо в компанії є інша команда, яка робить це правильно, попросіть перерахувати, інакше вийдіть чорт.