Base/Knowledges/IT/Рефакторинг/Запахи кода/Изменяемые данные.md
2026-02-23 19:52:05 +03:00

13 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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