amarao (amarao_san) wrote,
amarao
amarao_san

Category:

Самое злое в рефакторинге

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

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

И это ошибка в рефакторинге, ингорировать общее решение из-за "ухудшений".

Цель программирования (и рефкторинга) - в уменьшении сложности. Если получившееся пролазит в спецификации, этого достаточно. Не "такое же как было", а "пролазит в допуски". Это важно.
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment