Дизайн кода (Часть 3)
Атомарность, декомпозиция, сокращение контекста.
Чем меньше элемент / компонент, тем проще им управлять, контролировать, тестировать, развивать.
3️⃣ На третьей итерации мы разбиваем форму на инпуты. Теперь каждый инпут это микро компонент со своими зависимостями, валидациями, локализацией, кастомным поведением.
Больше не надо прокидывать никаких параметров. Инпут может получить все нужное из контекста формы или других хуков.
При таком уровне декомпозиции мы разбиваем все на атомы-компоненты.
Тестирование малых компонент становится простым и дешевым.
Тестирование более крупных компонент основано на моках более мелких компонент.
Начиная с самого низа, поднимаясь наверх мы просто мокаем уже протестированные компоненты.
Так на каждом уровне мы можем сфокусировать именно на том, что важно именно для нужного уровня.
Чтение и понимание кода в каждом файле становится занятием элементарным. Поддержка и развитие достигают максимальной простоты.
Так мы приручаем AI монстра.
Post #753
53

- 👍 6