1.7 KiB
1.7 KiB
#рефакторинг #запахи_кода
Изменения в данных часто могут вести к неожиданным последствиям и хитрым ошибкам. Я могу обновить некоторые данные в одном месте, не зная, что другая часть программного обеспечения ожидает какие-то другие данные и теперь терпит неудачу. Такой сбой особенно трудно обнаружить, если он происходит только в редких условиях. По этой причине целая школа разработки программного обеспечения (функциональное программирование) основана на идее, что данные никогда не должны изменяться, и что обновление структуры данных всегда должно возвращать новую копию структуры с изменениями, оставляя старые данные нетронутыми.
Рефакторинги
- Инкапсуляция переменной (Encapsulate Variable)
- Расщепление переменной (Split Variable)
- Перемещение инструкций (Slide Statements)
- Отделение запроса от модификатора (Separate Query from Modifier)
- Замена вычисленной переменной запросом (Replace Derived Variable with Query)