Я работаю в одной и той же софтверной компании более десяти лет. В результате я реализовал большую кодовую базу, используя различные объектно-ориентированные языки программирования. Я был начинающим программистом, когда только начинал свою карьеру, и я не знал много о хорошем интерфейсе и принципах дизайна класса. Я хотел бы думать, что со временем мои навыки проектирования улучшились, но теперь я сталкиваюсь с все большими и большими трудностями в улучшении моего более раннего кода из-за проблем обратной совместимости. Мой код используется большим количеством клиентов как часть продуктов, которые продает моя компания.
Мой вопрос: когда следует прекратить попытки поддерживать обратную совместимость старых интерфейсов и перекусить в пользу реализации совершенно нового дизайна?
Я думаю, что наступает момент, когда сохранение обратной совместимости становится таким большим бременем, что полезные изменения в интерфейсах становятся невозможными. Кто-нибудь сталкивался с подобными проблемами, кто может дать отзыв?
I think there comes a point where keeping backward compatibility becomes such a big burden that useful changes to interfaces become impossible.
- И я думаю, что вы ответили на свой вопрос там ...