Обычно код гораздо больше читают, чем пишут.
Больше написано – тяжелее и дольше читать.
И чем дальше в поддержку, тем больше будут читать.
Другими словами – есть не только стоимость написания кода, но и постоянные затраты на поддержку фичи (даже если вроде бы в ней ничего не меняется – ее все равно часто читают).
А уж если меняется – тем более.
Мысли вроде бы простые, но выделил в отдельную заметку и отдельными абзацами, чтобы можно было поразмышлять над ними.
Нередко встречаю мнение, что 10 дополнительных слоев переходов (без преувеличени – половина из них интерфейсы с одной реализацией, а еще половина промежуточные классы из-за выделенных нескольких модулей) никак отрицательно не влияют на стоимость разработки и поддержки проекта…