Как стать автором
Обновить

Комментарии 9

да, страшно не легаси

страшно, когда в легаси приходится добавлять функционал, но, при этом, не прикладываются никакие усилия по рефакторингу...

Видимо, некоторые компании находятся в ситуации, когда они держатся на плаву благодаря единственному проекту. Поэтому времени на уменьшение энтропии нету. Нужно клепать новый функционал!

(Наверняка к этому приводит ряд ошибок в процессе, но я даже не уверен, что забыть про рефакторинг в такой ситуации это правильно.

Наверно это сильно зависит от конкретного случая)

осваиваем новое модное слово "легаси", только легаси бывает не только код, но и какой-то формат, данных например, который чтобы поддерживать приходится писать(сохранять) какой-то дополнительный код опять же.

легаси действительно само по себе не страшно, плохо когда начальство говорит: "ты там ничего не трогай там очень умные люди написали, не то что ты", а потом когда происходит что-то плохое из-за того что "очень умные люди" написали, отвечать приходится тебе.

И тут выясняеся что умные это не те кто правильно пишет, а те кто могут свалить ответственность на другого (или просто вовремя свалить :) )

Под устареванием понимается, то, что на смену им приходят новые
технологии, позволяющие достигать результата быстрее или дешевле. Вся
индустрия на них постепенно переключается, и если не идти в ногу с ней,
то программный продукт становится легаси.

«Легаси» — это слово, которым программисты пугают друг друга (и менеджеров). Оно означает устаревший софт, работать с которым обычно сложно и/или неприятно по причине небольшого «выхлопа» в пересчете на вкладываемые усилия

Я прошу прощения...

Я один заметил, что новые технологии, которые позволяют достигать результата быстрее и дешевле, делают существующие решения медленнее и дороже, если не вкладывать туда время и деньги, чтобы идти в ногу с ними?

делают существующие решения медленнее и дороже

Медленнее (в абсолютном значении) они делать не могут, а т.к. железо становиться быстрее, то оно всё равно скорее всего будет ускоряться.

ну, так-то во всех случаях речь не о времени исполнения, а о времени, затраченном на поддержку продукта, как я понял.
Потому что в противном случае придется говорить о технологиях, которые будут уменьшать время исполнения, а с ними пока напряженка на планете.
Пример: чтобы открыть тектовый файл на PC 486DX2-66 под управлением старенькой MS-DOS6.22, Dos Navigator (1 ядро, 66МГц, 4Мб оперативы) у меня уходило что-то около 0.4 сек (за пару секунд я успевал бегло просмотреть пяток файлов, чтобы понять, что это не те, что мне нужны, держа правую руку на стрелке вниз, левую - на паре клавиш F3-Esc).
Сейчас, с современными технологиями, на телефоне с 8-ю ядрами на частоте около 1.2ГГц, оперативой в 6Гб, я за пару секунд разве что могу налюбоваться, как вращается красивый разорванный кружок.
Так что, похоже, речь тут точно не о времени исполнения

Самое ироничное - что стартапы сразу же являются легаси, если судить по признакам из статьи: выбираются не совсем правильные архитектура, технологии или библиотеки, потому что еще никто не знает куда все придут (начинают делать кукурузник из говна и палок, а в итоге нужен сверхзвуковой бомбардировщик с ядерными ракетами), тесты писать некогда, ci/cd настраивать некогда ну и так далее ?

Мне кажется, что автор не до конца понимает слово "legacy" (наследие). Все. Абсолютно все. И что было написано, и то, что будет написано, это legacy проекта. Да да, даже то, что запланировано, но еще не реализовано.

Именно потому legacy не существует. Есть проект. В том состоянии, в каком он есть. Что-то устарело, что-то нет. На примере Django. Проекту множество лет. В проекте остаются следы переходов с одной технологии на другую, хотелки, не реализованные с 0.95 версии, куски разнотипного кода от разных авторов, и лютый Си-тон в некоторых папках. Legaсy? Нет. Просто фреймворк, с которым я работаю долгое время.

Я могу представить, что под понятием "Легаси" в статье спрятался "Технический долг". Набор технических решений, требующих вмешательства специалиста. Но надо ли с этим бороться?

Исходя из слов Мартина Фаулера о необходимости рефакторинга - в любом проекте есть Zero Tolerance Tech-Debt Zone, Михаель Феатерс уточнил, как эту зону обнаружить статистически. Всю остальную часть проекта стоит оставить неизменной.

Потому, не надо ни с чем бороться. Легаси, она в голове. А в проекте есть тех долг, только малая часть которого должна быть выплачена.

P.s. У меня либо паранойя, либо в тексте некоторые куски кода похожи на GPT. Подозреваю первое.

Страшно не то что код старый, а когда нет документации. При плохо продуманной архитектуре все проросло костылями и работает пока ничего не трогаешь. Любой проект со временем портится и нужно периодически наводить красоту.

Проблема зачастую не в легаси как таковом, а в стиле написания. То, что на кдпв и сейчас можно написать. И пишут!

Работал на проекте, который писали отличные инженеры. Вот только программистами толковыми они не были. Код не структурирован, комментариев нет, нейминг переменных в виде аббревиатур и т.д. В итоге код просто боялись менять.

На другом же проекте код 10-летней давности отлично читался и дополнялся, где это было нужно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий