Моя команда и поддержка большое количество унаследованных приложений, все из которых в настоящее время функциональны, но проблематичны, чтобы поддерживать и поддержать. Они все зависят от кода, которого изготовление компилятора не имеет официально никакой поддержки.
Таким образом, вопрос, мы должны оставить код, как, и рискните новым компилятором, взламывающим наш код, или мы должны стиснуть зубы и обновить весь код?
Ответ полностью зависит от ресурсов, которые ваш работодатель (или вы сами) может себе позволить провести рефакторинг (или даже полностью переписать большие части).
Итак, вы должны сначала оценить, сколько времени / разработчиков вы можете потратить на рефакторинг приложения, а затем посмотрите, считаете ли вы, что этого будет достаточно.
Если у вас есть время и люди, то делайте это, не сомневайтесь! Вы инвестируете в будущее, сокращая время на отладку приложения, чтобы оно стало полезным и менее затратным после завершения рефакторинга.
Это зависит от природы приложений, их размера и важности, а также от культуры программирования на вашем рабочем месте и ресурсов, доступных для ты.
Если приложения достаточно ценны для вас, что они того стоят, и у вас есть необходимые ресурсы, выполните обновление. Не позволяйте проблеме повторяться.
Если они недостаточно ценны, чтобы стоить полномасштабных усилий по обновлению, или соответствующих ресурсов нет под рукой, возможно, работайте над обновлением по одному, если это возможно.
Просто несколько предложений, но, опять же, это во многом зависит от вас и вашей организации.
Похоже, у вас большой технический долг. Этот долг будет только увеличиваться, если вы что-то не сделаете. Обе вещи, о которых вы упомянули, являются вариантами и рискованными, но в долгосрочной перспективе это риск, на который вам нужно пойти.
Использование обновленного компилятора означает, что вам нужно обновить код, чтобы он работал в новом компиляторе. Что-то обязательно сломается, но затем реорганизуйте сломанные части. Это позволяет вам мигрировать.
Другой вариант - обновить всю кодовую базу. Это требует времени, в течение которого вам нужно поддерживать 2 копии кода или заморозить старую версию. Заморозить старую версию, вероятно, нельзя.
Я бы рекомендовал использовать обновленный компилятор и исправить то, что ломается. Это позволяет добавлять функции при рефакторинге и исправлении текущей кодовой базы.
Переписывание кода может быть полезным шагом для вашей компании по многим причинам:
Почему бы вам не начать эту деятельность с небольшим количеством людей, начиная с самых распространенных частей кода? Вы можете объединить их в группу dll и использовать ее также для будущих проектов.