Struchkov Mark
7ef1ee250f
All checks were successful
continuous-integration/drone/push Build is passing
43 lines
5.1 KiB
Markdown
43 lines
5.1 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- maturity/🌱
|
||
- content/muesli
|
||
date: 2024-11-12
|
||
---
|
||
## Анекдот
|
||
Яша с утра спросил у супруги, почему она отрезает кончики сосисок, когда готовит их. «Не знаю, меня мама так научила, спроси у неё», — отвечает супруга. Яша оказался любопытным и пошёл к тёще. Он спросил: «Мама, почему действительно вы всё время кончики у сосисок отрезаете, когда варите?»
|
||
|
||
Она говорит: «Я не знаю, меня мама так научила. Если тебе интересно, позвони ей». Ну Яша такой любопытный, пошёл звонить. Звонит, говорит: «Ида Самуиловна, это Яша, ваша внучка (моя жена) и ваша дочь (моя тёща) всё время, когда варят сосиски, отрезают кончики и говорят, что это вы их научили. В чём смысл?»
|
||
|
||
«Вы что, до сих пор варите сосиски в той моей самой маленькой кастрюлечке?»
|
||
|
||
***
|
||
|
||
В старых проектах часто можно услышать фразу: "Исторически так сложилось". Это объяснение используется, когда никто уже не помнит, почему было принято какое-то решение, но все продолжают следовать этой практике. Как и в анекдоте, причина, по которой что-то делается именно так, теряется во времени, а изначальная необходимость, возможно, давно отпала.
|
||
|
||
Такие устаревшие решения могут быть следствием технических ограничений, которые были актуальны на момент создания системы, или обусловлены привычками и отсутствием времени на пересмотр принятых решений. С течением времени кодовая база разрастается, а оригинальные мотивации забываются. В итоге разработчики продолжают следовать устаревшим практикам, не подвергая их сомнению.
|
||
|
||
Ситуации, когда решение было принято "потому что так было удобно 10 лет назад", могут сдерживать развитие проекта и приводить к трудностям в поддержке и модернизации системы.
|
||
|
||
Разработка требует регулярного переосмысления архитектурных решений и устранения наследия, которое перестало приносить пользу. Периодически задавая вопрос "Почему это сделано именно так?", можно избежать накопления технического долга и упростить жизнь будущим разработчикам.
|
||
|
||
**Как бороться с наследием прошлого**
|
||
1. **Документировать решения**: Поддержка документации помогает понимать, почему определённое решение было принято, и облегчает пересмотр устаревших подходов. Например, Architecture decision log
|
||
2. **Регулярные ревизии кода**: Периодически пересматривайте старый код, чтобы выявлять и устранять неэффективные решения.
|
||
3. **Постоянное обучение команды**: Обучение помогает разработчикам понимать современные подходы и технологии, что позволяет быстрее определять устаревшие паттерны.
|
||
4. **Открытые обсуждения**: Создайте культуру, где команда может открыто задавать вопросы о текущих решениях и предлагать улучшения. Например TechTalk
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../meta/zero/00 Головные мюсли|00 Головные мюсли]], [[../meta/zero/00 Разработка|00 Разработка]]
|
||
**Родитель**::
|
||
**Источник**::
|
||
**Создана**:: [[2024-11-12]]
|
||
**Автор**::
|
||
### Дополнительные материалы
|
||
-
|
||
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|