Follow

«Сейчас все старее года уже легаси».

@johan классическое определение Легаси - код, переданный от одного разработчика другому "по наследству".

Оно может быть и трехдневным.

@cauf А разве не смена архитектуры, языка и т.д.? Разработчик психанул, всё поменял, плагины остались?

@johan нет. Это ты про какую-то хероту написал. Смена архитектуры и языка - это фактически закрытие проекта и написание с нуля. Это никак не Легаси.

Сейчас под Легаси чаще называют проект с большим техдолгом.

@cauf @johan Чёто это "легаси" больше напоминает какое-то жужужу без определённого смысла

understandlegacycode.com/blog/

@cauf @akastargazer Не погромист, но вроде верно написано: тебе не особо хочется разбираться, кода дофига, он запускается... Пишем обертку?

@johan @cauf Так или иначе нужен специальный человек, который врос своими мозгами в предмет, выраженный в коде.

Пока не врос - этот код является "легаси".

@𝕵𝖔𝖍𝖆𝖓 ⛧ у любого сложного проекта наступает момент, когда он превращается в систему из подпорок и костылей.

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

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

вот это вся ситуация — это смерть проекта/решения/продукта. единственный выход из ситуации — дробить проект на куски и переделывать каждый из них по отдельности — тупо переписывать.

в таком вот случае, те части, которые ещё не были переписаны, а другие уже вроде как переделаны — вот это и зовётся легаси.

фраза, которую ты цитируешь: «Сейчас все старее года уже легаси». повествует о том, что софт стали делать постоянно на ходу меняя требования к функционалу и при этом не желая вкладываться в соблюдение SOLID и других вещей при контроле качества исходного кода.
т.е. срабатывает два фактора в сумме приводящих к такому результату. с одной стороны, бизнесовая часть компаний очень хочет, чтобы под их дудку плясала разработка и заёбывает со всякими сиюминутными изменениями в требованиях.
с другой стороны, компании нанимают такой персонал в разработку, который про тот же SOLID читает лишь ради прохождения собеседований, но вот на практике нихера не применяет.

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

Вариант быстро сделать старт и выбросить если не взлетит тоже часто адекватен для бизнеса.

@Куратор Селфхоста могу высказаться лишь как человек, перед которым эти самые любители гибкости несут ответственность — дайрект репорт о результатах, достижениях и качестве работы.

микросервисы как методология не помогают. это хорошо известно с тех времён, которые предшествовали 2014-му году, когда термин микросорвисов стал обретать массовую известность. а ранее был известен как одна из бест практикс банального SOA (сервис-ориентированной архитектуры) в мире корпоративных решений.

если утрировано, то за счёт микросервисов эту самую проблему пытаются решать на моей памяти уже более 20 лет.

@erua Я, конечно, плюсану, но... Инкапсуляцию, перерузку — отменили? Позвать, что тебе надо, из старой библиотеки?

@𝕵𝖔𝖍𝖆𝖓 ⛧ вскрой любой механизм с множеством шестерёнок и передач, ну типа обычных часов — ощутишь и поймёшь, что такое сложная система и какого в неё вносить изменения, с целью заставить работать слегка иначе — согласно изменившимся бизнес требованиям из которых появились новые функциональные требования.

все системы изнашиваются, и в случае софта изнашивания происходят именно из-за внесения такого рода изменений. по-началу, в первой части жизненного цикла софтового решения можно спокойно вносить определённые изменения. если разработчики предусмотрели на этапе проектирования и реализации возможность внесения определённого класса и типа изменений. но всё течёт, всё меняется и наступают моменты требующие изменений, которые изначально не предусмотрены. но которые может выдержать архитектура и кодовая база.
сделав такое один-два раза без особых последствий для работоспособности системы бизнесовая часть компании начинает думать, а вдруг ещё раз прокатит, а потом давайте ещё раз, это важно.
как результат — изношенность софтового решения, в котором после таких изменений уже полным полно сложных не нужных ибыточных связей, нарушающих любой здравый смысл — это и есть система из подпорок и костылей.

и любая попытка заставить это работать определённым образом, через внесение очередных изменений, превращает отдел разработки в тебя, вскрывшего механические часы и пытающегося разобраться, что тут и как подкрутить, желая получить движение секундной стрелки через два деления в первой половине циферблата (между 12 и 6 часами) и через три деления, когда она движется во второй части (с 6 часов до 12).

@erua Ты сейчас описал все продукты Adobe, крому InDesign, который изначально сделан как фреймворк для плагинов. И весь DTP'шный софт туда же. А как они отрубили многопоточность в Premier и AfterEffects? Нахуй вам Rizen, многопоточность и вот это всио, будем считать на одном ядре.

@erua Т.е. как бы понятно, что для следующего кадра нужен предыдущий, но вот 17-я версия как-то может, а дальше хер...

@𝕵𝖔𝖍𝖆𝖓 ⛧ ну раз уж мы тут вещаем друг другу о своём личном наболевшем.
то примерно с 2014 года ожидаю большой войны, между РФ и «золотым миллиардом», потому тогда зарыл в землю набежавшие 15 лет опыта разработки софта под винды и перешёл года с 2015-го на разработку под линухи.
соответственно, вопросы того, что из себя нынче представляет софт Adobe меня не волнует ну вот вообще никак. ни в вопросах растровой графики, ни в вопросах типографики. поскольку и для того и для сего есть аналоги, вращающиеся и на линухах и на обеих бсдях.

а тем более сейчас — медленно, но верно начала разворачиваться именно что большая и масштабная война — корпорации отказались от нейтральной позиции и со всей своей собираемой телеметрией с машин пользователей встали на сторону тех, кто ратует за кенселинг всего русского, уничтожения России и за массовые убийства русских по национальному признаку и по гражданству РФ.

нельзя продукцию таких корпораций держать на своих компах, с учётом того, что они постоянно находятся на связи с ЦОДами и штаб-квартирой компании. это они сегодня отправляют телеметрию и апдейты загружают, а завтра начнут загружать «плагины» с деструктивными или шпионскими функциями, находящиеся на дистанционном управлении.

чем для нас обернётся одновременно дирижирование непонятно кем сотнями тысяч компов? компания-корпорация подчиняясь требованиям своих правительств создают механизм, а инфа как этим пользоваться утекает, управление можно перехватить или перенаправить в определённый момент, по заказу каких-нибудь частных лиц, не имеющих никакого отношения к государствам, но желающим плеснуть бензинчику на угли — выставив всё так, что одно государство атаковало якобы другое через эти все механизмы заныканные в проприетарном софте.

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

@cauf Миранда, Винамп... Всё остальное, где нужны плагины от ранней версии?

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.