То, что базовые методы не будут переопределены (или, скажем так: будут переопределены КОРОЕКТНО) можно гарантировать введя ответственность программиста за КЛАСС. То есть каждый класс -- это зона ответственности того или иного разработчика. Всегда легко понять, кто накосячил. Ну и есть другие плюсы этого плдхода, о которых я не пишу тут.
Практика показывает, что коллективная ответственность -- это зло, приводящее к говнокоду (исключение составляют только некоторые экстремальные методики управления процессом разработки типа agile и иже с ним, но в этом случае пролема решается совсем другими методами).
А в Вашем случае, один и тот же модуль будет редактироваться РАЗНЫМИ программистами и в случае возникновения проблем они будут спихивать ответственность друг на дружку
Легаси код никто не отменял. Также говнокод обычно появляется потому что надо быстро и сейчас, а тех долг никто не разгреб. Ответственность программиста не гарантирует правильного использования наследования. Да и нет особой разницы кто накосячил, даже если человек еще работает, код в любом случае придется писать тебе, не будешь же ты с ним на ножах драться из-за того что он не так класс написал, особенно когда это уже продакшен код.
Без коллективной ответсвенности не обойтись, вдруг человек заболел или в отпуск ушел, а изменения надо делать, неужели вы их отложите? Рано или поздно при любом разделении разные программисты будут хоть и не значительно но править классы друг друга
Сомневаюсь что программисты будут спихивать ответсвенность друг на дружку, ну да, они могут по фрустрировать от криво написанного класса или сложного лукового наследования, но они в итоге просто возьмут и сделают задачу.
Denis
Maks
Dmitry
Таршиш
DI