Недавно в чате задали вопрос, достаточно интересный чтобы высказаться на эту тему в блоге. Привожу сам вопрос и мой ответ на него.
Максим Юдин:
На дворе утро, а у меня вопрос не по квазару, а, как оказалось, по проблемам разработки.
Заметил за собой специфику: Сделал компонент/алгоритм/программу которая работает. Получаю правки (которые, по хорошему полностью меняют компонент/алгоритм) и пытаюсь адаптировать существующее решение, трачу кучу сил на это, а в конце прихожу к тому, что надо всё с чистого листа…
Думаю, что это не личная моя проблема, и с ней сталкиваются многие.
Вопрос в том: кто как придумал её обходить?🤔 Ну вот есть решение, есть правки. В любом случае первые решения для внесения правок основываются на существующем опыте (а значит на решении) и даже при первичном проектировании решение будет основано на текущем, а надо с нуля. Вот как понять, что текущие правки ещё можно наложить на существующее решение, а вот другие нельзя и они требуют нового решения?
Понял, что эту грань не нахожу заранее, а прихожу к ней только через часы мучений скрещивания круглого с квадратным, что бы получить треугольное.
Леонид Черненко:
Отличный вопрос, мне справляться с этим помогает
-
большой опыт решения задач — для знания вариантов решения
-
построение чистого кода — для того чтобы его легко было менять, не за часы а за минуты
-
прокачанный навык рефакторинга — для меня код это пластилин который я с лëгкостью меняю
Также дополнительное ускорение мне придают хорошие инструменты и особые методики написания кода.
Получается, что предугадать и защититься от изменений я не могу, но я могу максимально ускорить и упростить изменения)