История изменений
Исправление Iron_Bug, (текущая версия) :
ты рассматриваешь маленький промежуток времени. а если та СУБД, под которую ты писал всю свою программу, через десять лет вдруг просто перестала существовать, как класс? а если сменились все технологии и парадигмы, которые когда-то были в тренде, а потом вдруг вообще исчезли? а если нужна поддержка на огромном количестве разных платформ, причём от новейших мэйнфреймов до совсем древних компов в каких-то деревнях? вот пример - обслуживание сетевого обмена для Сбера. я этого монстра поддерживала одно время. эта хрень работала на миллионах серверов по всей стране. причём «сервер» - понятие очень относительное. это мог быть i486 c NT 4.0. а мог быть интелловский новейший холодильник в каком-нить мощном дата-центре. и всё это должно было работать. причём где-то сеть была 24 часа в сутки, а где-то её подключали через модем на час, например. и всё это надо было дорабатывать и сопровождать, при постоянно меняющихся библиотеках, всяких обновлениях, плюс новые требования заказчиков, плюс интеграция во все мыслимые и немыслимые интерфейсы от отправки отчётов в формате, который понимает какой-нить аутглюк, до внедрения элементов управления в системную панель управления (причём их там много разных версий и они разные). это невозможно сделать универсально. это страшный и очень объёмный код, покрытый ifdef'ами.
и мы тогда убедили начальство переписать это всё с нуля. там было около 40 мегабайт исходного кода на плюсах. но я не думаю, что после переписывания код долго оставался идеальным. он всё равно засрётся и нужно будет переписывать ещё и ещё раз.
Исходная версия Iron_Bug, :
ты рассматриваешь маленький промежуток времени. а если та СУБД, под которую ты писал всю свою программу, через десять лет вдруг просто перестала существовать, как класс? а если сменились все технологии и парадигмы, которые когда-то были в тренде, а потом вдруг вообще исчезли? а если нужна поддержка на огромном количестве разных платформ, причём от новейших мэйнфреймов до совсем древних компов в каких-то деревнях? вот пример - обслуживание сетевого обмена для Сбера. я этого монстра поддерживала одно время. эта хрень работала на миллионах серверов по всей стране. причём «сервер» - понятие очень относительное. это мог быть i486 c NT 4.0. а мог быть интелловский новейший холодильник в каком-нить мощном дата-центре. и всё это должно было работать. причём где-то сеть была 24 часа в сутки, а где-то её подключали через модем на час, например. и всё это надо было дорабатывать и сопровождать, при постоянно меняющихся библиотеках, всяких обновлениях, плюс новые требования заказчиков, плюс интеграция во все мыслимые и немыслимые интерфейсы от отправки отчётов в формате, который понимает какой-нить аутглюк, до внедрения элементов управления в системную панель управления (причём их там много разных версий и они разные). это невозможно сделать универсально. это страшный и очень объёмный код, покрытый ifdef'ами.
и мы тогда убедили начальство переписать это всё с нуля. там было около 40 мегабайт исходного кода. но я не думаю, что после переписывания код долго оставался идеальным. он всё равно засрётся и нужно будет переписывать ещё и ещё раз.