Для меня это зависит от динамики вашей команды.
Например, если у вас есть команда, которая не унифицирована стандартами, экспертной оценкой, методическим тестированием, или если у вас есть команда, в которой уровни компетенции сильно различаются среди участников, было бы неплохо найти более сильное представление о владении кодом. с более черным модульным складом мышления.
Например, при отсутствии этого ваш тщательно разработанный интерфейс, соответствующий принципам SOLID, может быть быстро разрушен кем-то, кто даже не знает, что такое «SOLID», и хочет все время добавлять новые эклектичные функции в интерфейс для «удобства», например Это, безусловно, худшее.
Вы также можете иметь дело с неаккуратными коллегами, чья идея исправления ошибки заключается в устранении симптома без понимания основной проблемы (например, попытка ответить на отчет о сбое, просто добавив обходные пути в код только для того, чтобы скрыть ошибку и перенести смертельную ошибку). побочные эффекты для кого-то еще). В этом случае это не так плохо, как саботаж при проектировании интерфейса, и вы можете защитить свои намерения с помощью тщательно составленных модульных тестов.
Идеальным решением является укрепление вашей команды, хотя бы до такой степени, что понятие авторства и права собственности перестает быть таким важным. Рецензирование не только улучшает качество кода, но и улучшает командную работу. Стандарты - это не только последовательность, они улучшают командную работу.
Тем не менее, существуют сценарии, в которых экспертная оценка и фактическое соответствие всех требованиям стандарта просто безнадежны и приведут множество безнадежно неопытных критиков в смесь. Я бы сказал, что вопрос о том, будет ли владение кодом или групповое владение более важным приоритетом, будет зависеть от способности вашей команды действительно провести эффективную экспертную оценку и фактически заставить всех выйти так, как они извлекли из этого пользу (как в отношении самого обзора и, как следствие, сближение во взглядах и стандартах). В больших, свободных и / или разрозненных командах это может показаться безнадежным. Если ваша команда может функционировать как «команда», в которой вы едва можете даже сказать, кто что написал, то единоличное владение начнет казаться глупым понятием.
В подобных сценариях, далеких от идеальных, это понятие владения кодом может действительно помочь. Он пытается справиться с наихудшим сценарием, но может помочь, если командная работа, как правило, безнадежна, чтобы обойти код автора. В этом случае это уменьшает командную работу, но это может быть лучше, если «командная работа» приводит только к шагам.