Pracuję w tej samej firmie programistycznej od ponad dziesięciu lat. W rezultacie zaimplementowałem dużą bazę kodu przy użyciu różnych obiektowych języków programowania. Byłem początkującym programistą, kiedy zaczynałem karierę i nie wiedziałem wiele o dobrym interfejsie i zasadach projektowania klas. Chciałbym myśleć, że moje umiejętności projektowe poprawiły się z czasem, ale teraz mam coraz więcej trudności w ulepszaniu mojego wcześniejszego kodu z powodu problemów z kompatybilnością wsteczną. Mój kod jest używany przez wielu klientów jako część produktów sprzedawanych przez moją firmę.
Moje pytanie brzmi: kiedy należy przestać próbować zachować kompatybilność wsteczną starych interfejsów i gryźć kulę na rzecz wdrożenia zupełnie nowego projektu?
Myślę, że przychodzi moment, w którym utrzymanie wstecznej kompatybilności staje się tak dużym obciążeniem, że użyteczne zmiany w interfejsach stają się niemożliwe. Czy ktoś miał podobne obawy, kto może przekazać jakieś uwagi?
I think there comes a point where keeping backward compatibility becomes such a big burden that useful changes to interfaces become impossible.
- I myślę, że odpowiedziałeś tam na własne pytanie ...