БЕСПЛАТНЫЙ УСЛУЧЕННЫЙ код (3 Часть серии)
Это третья и окончательная часть в моей короткой серии по борьбе с наследием. Раньше я писал о Общие методы кодирования и о Организационные и эксплуатационные требования Отказ
Я хотел бы закрыть с некоторыми последними мыслями.
Технология не проблема
У нас разработчики не могут помочь, но с энтузиазмом о новых технологиях: языки, рамки, библиотеки, методики и т. Д. Но чаще всего, чем нет, проблема с устаревшим проектом не является выбранной технологией или его возрастом. Скорее, это так, как старая технология была использована.
Если вы решите переписать проект в более новых технологиях, шансы у вас будет второй наследийный проект за несколько лет. И если вы решили просто пощечить на новой вещи на старой вещи, уродливые вещи все равно будут там.
Новая технология не решит вашу проблему устаревшего кода, хрупких (или несуществующих) тестов, кода, которые никто не осмеливается коснуться.
Но легче и веселее пробовать горячую новую блестящую вещь в городе. Так много разработчиков, как правило, предпочитают переписать. И я понимаю, это интересно попробовать что-то новое. Однако при использовании Company Time и Money есть больше к этому личным предпочтениям (хотя это не неважно).
Более того, это вполне может быть больше усилий, чтобы преобразовать устаревший проект, чем переписать его с нуля. Не стоит недооценивать количество знаний, которые присутствуют в более старом приложении.
Выберите битвы
Унаследованная кодовая база часто заполняется уродливыми конструкциями, которые расстраивают вас. Будьте осторожны, чтобы не принимать слишком много проблем одновременно. Идите на низкий виситель фруктов сначала (то есть мало усилий, большая ценность) и двигаться дальше к более сложным кускам. Имея более маленькие проблемы с пути, сделают его проще, как только вы начнете с более крупных проблем.
Не разочаровывайтесь, что это означает, что темп медленнее, чем вы хотите. Если вы выберете битвы, вы избежите Лава слой анти-образца и иметь более высокую вероятность успеха.
Оставаться последовательным
При решении наследие кодовая база, вы неизбежно введете новые конвенции. Возможно, был Конвенция именования, которая является нестандартным. Может быть, был Бог объект Для доступа к данным, который вы хотите разделить в репозитории. Что бы это ни было, попробуйте остаться последовательным внутри проекта.
Консистенция превосходит все, что вы пытаетесь представить. Возможно, вы не думаете, что объединив старый, и новый путь сбивает с толку, но он добавляет к умственным усилиям, разработчики должны сделать, чтобы понять, что происходит.
Консистенция также позволяет избежать анти-образного узора слоя лавы. Вы никогда не знаете, возможно, вы представите еще более лучшую конвенцию позже.
Возможно, вы не сможете представить новую конвенцию в одном Go, предоставляя вам время, когда у вас есть старый и новый путь, живущий рядом. Это нормально. Но иметь ясную цель в виду и путь к достижению этого.
Веселье!
Я убежден, что многие проекты могут быть спасены и очищены, что делает их ремонтопригодными и более стабильными еще раз. Я лично сделал это несколько раз, и удовлетворение, которое вы попадаете от укрощения, что уродливый зверь удивительно.
Кстати, если у вас есть проблемы с устаревшим проектом, я независимый разработчик, который на самом деле Любит улучшить наследный код Отказ Позвони мне Если вам нужны советы.
БЕСПЛАТНЫЙ УСЛУЧЕННЫЙ код (3 Часть серии)
Оригинал: «https://dev.to/petermorlion/tackling-legacy-code-final-thoughts-3mlp»