Итак, есть событие изменения абстрактной структуры данных.
Есть два обработчика:
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 не глагол.
- какие-то не очевидные названия вроде бы.
Что скажете? Может есть какие-то устоявшиеся имена на этот счёт?