Як повинен керувати менеджер з розробки коду "Тендер на мету"?


12

Спочатку дозвольте мені ввести термін:

цільове завдання коду: перевірка коду вранці, а потім мовчки переглядаючи всі зміни, внесені іншими розробниками за попередній день файл за файлом (особливо файли коду, які ви спочатку розробили), і виправлення форматування, логіки, перейменування змінних, рефакторинг довгі методи тощо, а потім внесення змін до СКС.

Ця практика має кілька плюсів і мінусів, які я визначив:

  • Про : Якість коду / читабельність / послідовність часто зберігається
  • Про : Деякі помилки виправлені через те, що інший розробник не надто знайомий з вихідним кодом.
  • Con : Часто є марною витратою часу розробника, який спрямовує цілі.
  • Con : Іноді вводяться помилки, що викликає лють волосся на розробників, які думали, що вони написали код без помилок напередодні.
  • Кон : Інші розробники загострюються із надмірним занизуванням і починають не любити внесок у код цільового конкурсу.

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

На свій захист, я думаю, що це роблю з поважних причин (щоб у нас надзвичайно велика база коду була добре змащеною машиною), але я дуже стурбований тим, що це також створює негативну атмосферу. Я також певно стурбований тим, що моєму менеджеру потрібно буде вирішити це питання.

Отже, якби ви були менеджером, як би ви вирішили цю проблему?

ОНОВЛЕННЯ: Я не маю на увазі, щоб це було занадто локалізовано, але деякі запитували, тому, можливо, деякий фон буде висвітлюватися. Мені було призначено гігантський проект (200K LoC) три роки тому, і лише нещодавно (1 рік тому) до проекту були додані додаткові розробники, деякі з яких не знайомі з архітектурою, інші, які ще вивчають мову (C #). Я, як правило, повинен відповідати за загальну стабільність продукту, і я особливо нервую, коли зміни напрочуд вносяться до основних архітектурних частин кодової бази. Ця звичка з'явилася тому, що спочатку я був оптимістично настроєний на внески інших розробників, але вони зробили занадто багато помилок, які спричинили серйозні проблеми, які не були б виявлені до тижня, коли палець буде вказаний на мене для написання нестабільного коду. Часто ці "


3
Мабуть, ваші розробники недостатньо перекачують ваші шини. Замініть свого воротаря на FxCop чи щось подібне та застосуйте ці стандарти автоматично, щоб вони не змогли зареєструватися.
Джон Ренор

2
Кон: Це не ваша робота. Ці люди повинні робити власну мету.
Роберт Харві

10
як розробник я вважаю це насторожуючим для іншого розробника, щоб зробити це з усіма внесеними
вами

4
@Ryathal: Магазин повинен застосовувати стандарт коду. Код, як правило, належить всій команді, тому, якщо ви не хочете, щоб люди його міняли, вам слід в першу чергу зробити це правильно.
Роберт Харві

1
@RobertHarvey сприяти встановленню стандарту - це одне, а шахрайський розробник мовчки виконує свою думку про "правильність" - інша справа, і це, мабуть, стосується останнього.
Рятал

Відповіді:


52

Це здається, що те, що ви робите, в основному еквівалентне огляду коду, за винятком того, що замість того, щоб надати розробникам зворотній зв'язок, ви вносите всі зміни, які ви б запропонували в огляді коду. Майже напевно вам буде краще зробити фактичний огляд коду, де ви (або хтось інший) надаєте відгуки оригінальному розробнику щодо проблем якості коду та очевидних помилок і попросите оригінального розробника виправити їх. Це підвищує якість коду, але також допомагає розробнику ознайомитись з оригінальним кодом та його підводними каменями та допомагає покращити майбутні зміни коду. Плюс до цього, це не має недоліків викликати "лютість волосся", коли помилка мовчки вводиться або змушує інших розробників думати, що про них говорять за спиною.


4
Великий +1. Огляди коду допомагають створити команду, в той час як описуваний ним «ціль», схоже, може стверджувати людей не так.
Дуг Т.

2
Це. Реальні огляди коду були б набагато кращим. Як ви вже сказали, два великих плюси - розробник засвоює архітектуру додатків швидше, тому що ви показуєте йому проблеми. Друга полягає в тому, що ви не будете вводити помилок, оскільки не повністю розумієте написаний новий код. Ідеальна відповідь на це питання.
Майк Челліні

2
Блискуча відповідь і подяка за розуміння. Я думаю, що приведення копії цього питання та покірне ставлення до мого менеджера можуть переконати його в тому, що огляди коду будуть корисними для команди та зменшать потребу в «вирішенні цілей».
Кевін МакКормік

1
Домовились. Не спілкуйтесь з кодом інших людей, не запитуючи. Таким чином, ви можете отримати деякі гнучкі помилки. Я виправив помилки, спрямовані на цілі, і вони не приємні. Якщо вас турбує надійність коду, пишіть одиничні тести.
Пол Натан

2
Навіть якщо ви ніколи не переходите до "реальних" оглядів коду, просто розмовляючи з іншою людиною - запитання, чому вони робили певні речі, і чому вони цього не робили [якимось іншим способом] - це чудовий спосіб досягти багатьох тих самих цілі. +1
TehShrike

14

Якщо чесно, ІМХО, це жахлива ідея.

Я б очікував, що мораль впаде в жолоб, якщо цього ще не було.

Щоб бути справедливим до вас, ви це визнаєте.

Огляди експертного кодексу чудові, це покладає увагу на розробників на одному рівні, замість того, щоб це був сценарій "їх проти нас". (де їх управління / веде).

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

І незважаючи на те, наскільки добре ви думаєте, що ви є, буде час, коли ви помиляєтесь, або "збирання ніт", і це просто погіршить ситуацію.


Це і менеджер, ймовірно, швидше погіршить код.
Енді

5

Якби я був менеджером, щоб вирішити цю проблему:

  • Перегляньте стандарти та практики коду з командою, передайте їм копію стандартів кодування
  • Код експертного огляду на регулярній основі для посилення стандартів та практик, яких слід дотримуватися
  • Застосовуйте прищеплення / форматування за допомогою інструмента автоматизації, щоб розробники змушені були дотримуватися стандартів
  • Позбудьтесь від поганих товаришів по команді, які відмовляються дотримуватися стандартів
  • Перестаньте бути воротарем

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

Якщо проект ніколи не мав ніякого стандарту для початку, спробуйте полегшити новий стандарт поетапно, а не просто перемикати комутатор.


3

Погане жужу.

Я не менеджер розробок, але якби я не хотів би, щоб хтось із моїх розробників торкнувся коду, який не є частиною дефекту чи призначеної їм функції. Період. Якщо ви бачите проблему з чужим кодом, то будь-яким чином доведіть це до відома відповідальних розробників, але не просто занурюйтесь і виправляйте їх самостійно, особливо якщо ви не поговорили з іншим розробником ( з) першим.

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

Ініціатива в цілому хороша, але іноді може вкусити тебе в дупу. Якщо вводити будь - які помилки в те , що був робочий код, ви швидко можете бажати ви вибрали інший шлях кар'єри.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.