Как вы поступаете с введением кодовой базы, которая может быть довольно сложной и запутанной с большим количеством "ошибок" для нового члена вашей команды?
Я думаю, что самым простым способом было бы выстроить общую архитектуру с помощью диаграмм и потратить пару недель (или месяцев), чтобы дать новому человеку четко определенные (и хорошо ограниченные) задачи, поскольку он становится более привыкшим к коду.
Однако, как консультант (и младший сотрудник), я не всегда могу иметь это из-за нехватки времени или из-за роли в команде. (Я был в этом конкретном проекте вдвое дольше, чем кто-либо другой, поэтому «младший» никоим образом не «знает меньше о коде / проекте».)
Мне уже несколько раз предлагалось представить нового участника проекта и кода, и, к сожалению, каждый раз я обнаруживаю, что не намного лучше в этом, чем предыдущий. Мне нравятся диаграммы и рисунки, но я часто чувствую, что они недостаточно учитывают сложность системы. (А как насчет всех маленьких "гуч"?)
Проект подходит к моменту, когда мы передадим его клиенту, и, чтобы сделать его более сложным, человек, с которым я буду передавать знания, по сути, только что окончил колледж. (Не то чтобы я чувствовал себя намного лучше, когда делюсь знаниями со старшими разработчиками.)
Я посещаю группу пользователей один раз в месяц, и у меня появляются другие возможности по мере их появления, поэтому я не привык, что меня знакомят с новыми темами, но чувствую, что моя способность воспроизводить эффективный обмен знаниями крайне неадекватна.
Любой совет будет принята с благодарностью. Я в основном ищу руководство, которому я могу следовать. Например: с чего начать? Как вы продолжаете? Как вы освещаете незнакомые технологии или шаблоны со стороны слушателя, не занимая весь день? Где вы связываете бизнес-логику и структуру кода?
Спасибо!
(Как всегда, пожалуйста, не стесняйтесь редактировать вопрос по своему усмотрению.)
# TODO: fix this ugly hack