У меня есть интерфейс отчетов веб-приложений с дюжиной элементов управления с несколькими взаимозависимостями, например:
- если для кампаний выбрано несколько кампаний или «Все», кампания должна быть в группе «Фильтр по группам»
- если это представление Product X и для этого клиента назначена опция Secondary Publisher, добавьте флажок «Включить Secondary Publisher».
- если установлен флажок «Включить вторичного издателя», добавьте вторичного издателя в группу по фильтру
Вероятно, существует около сотни таких правил, и мой код стал довольно сложным. Прежде чем приступить к серьезному переписыванию, я хочу задокументировать зависимости, чтобы мы могли внедрить некоторые более качественные автоматизированные тесты.
Есть ли какие-нибудь указатели на лучшие практики для такой документации?
Пока я здесь, есть какие-нибудь указатели для управления сложностью кода? (Я думаю об использовании knockout.js, так как он кажется более или менее сконструированным для такого рода ситуаций ....)