Q2W
@Q2W

Как назвать обработчики события изменения до и после?

Итак, есть событие изменения абстрактной структуры данных.
Есть два обработчика:
1. Вызывается до изменения. Дополняет его и валидирует (может запретить это изменение).
2. Вызывается после изменения. Приводит окружающий мир в согласованное с этим изменением состояние.

Так вот, надо придумать им названия.
Важно это сделать сейчас, т.к. потом в коде будут тысячи имплементаций этих обработчиков.

На данный момент есть три пары кандидатов:
1. beforeChange и afterChange.
2. preChange и postChange.
3. validate и trigger.

Пока склоняюсь ко второму варианту. Вот какие плюсы и минусы вижу:
1.
+ Просто и понятно
- Т.к. в качестве параметров обоих обработчиков будут передаваться состояния до изменения и после, т.е. before и after, то возникнет путаница:
function beforeChange(before, after) {}
function afterChange(before, after) {}

- Имена не глаголы.
2.
+ Почти так же просто и понятно.
- Имена не глаголы.
3.
+ validate - глагол.
+ Чаще всего в validate будет именно валидация.
+ trigger очень точное название.
- в validate бывает не только валидация, его смысл несколько шире (выше я описывал).
- trigger не глагол.
- какие-то не очевидные названия вроде бы.

Что скажете? Может есть какие-то устоявшиеся имена на этот счёт?
  • Вопрос задан
  • 312 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AnneSmith
самая ленивая
то есть один обработчик у вас обрабатывает сам компонент, а второй обрабатывает другие компоненты, и "до" и "после" тут вообще не имеют никакого смысла, потому что логика этих обработчиков принадлежит разным объектам

куда логичнее второй обработчик повесить на тот компонент, который должен синхронизироваться с первым и повесить на него слушателя события изменения первого компонента

ваш вариант называется микроменеджментом, как если бы ваш начальник вам каждый раз говорил как вы должны делать свою работу
Ответ написан
@AlexSku
не буду отвечать из-за модератора
1) before и after используются в базах данных
2) В графе состояний (программируемые логические контроллеры) процедуры называются enter (entry) и exit
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы