157просмотров
37.3%от подписчиков
18 октября 2025 г.
📷 ФотоScore: 173
Три степени принятия легаси-кода 🧩 Каждый разработчик однажды сталкивается с тем самым проектом. Где код живёт по своим законам, комментарии — артефакты древней цивилизации, а местами прослеживается квантовая запутанность наследования и логики. Работая с очередным легаси-проектом, я вывел три состояния, через которые проходит разработчик. 👶 Начинающий Ты впервые попадаешь на легаси.
Опыт небольшой, и сложно отличить плохое от хорошего.
Смотришь в код и думаешь: «Как это, блять, вообще работает?» 🔥 Бывалый Ты уже поднаторел в рефакторинге и знаешь best practices.
И когда видишь легаси, в голове сразу запускается алгоритм: 1️⃣Взять канистру с бензином. 2️⃣Облить всё бензином. 3️⃣Бросить спичку. 4️⃣Построить светлое будущее проекта — на пепелище старого. Но потом ты возвращаешься на грешную землю, заточив инструменты, и начинаешь работать с тем, что есть.
И где-то в процессе тебя снова посещает мысль: «А зачем это сделано так? Ведь проще же было вот так...» 🧘♂️ Ветеран Ты уже повидал всё. Главное отличие — ты не осуждаешь.
Как говорил Рик Санчес: «Не осуждай.» Ты понимаешь: если код написан именно так - значит, у разработчика были причины. Бизнес торопил, опыта не хватало, дедлайн горел... Теперь твоя задача — не ломать сгоряча, а аккуратно, ланце́том, сделать быстро и красиво. «Не осуждай предшественника — у тебя нет всей картины.
Но пиши код так, будто тот, кто будет его поддерживать, знает, где ты живёшь.» А вы уже проходили стадии принятия легаси-кода?
Удалось удержаться между желанием всё переписать и необходимостью пилить фичи? 😅 Ланце́т (через фр. lancette[1], от лат. lancea[1] — «копьё, пика») — колющий хирургический инструмент с обоюдоострым лезвием для вскрытия нарывов. В современной медицинской практике заменён скальпелем. Эта не большая пасхалка моя дань уважения автору канала "Латынь по-пацански" #MyDevAdventure