Я реализую несколько глобальных функций в нашей библиотеке, которые выглядят примерно так:
void init_time();
void init_random();
void init_shapes();
Я хотел бы добавить функции для проверки, были ли они вызваны:
bool is_time_initialized();
bool is_random_initialized();
bool are_shapes_initialized();
Однако, как вы можете видеть, are_shapes_initialized
выпадает из строки из-за того, что shapes
является множественным числом, и поэтому имя функции должно начинаться с , равными , а не есть . Это может быть проблемой, так как библиотека довольно большая и не имеет единого способа группировки похожих функций в соответствии с тем же соглашением об именах, что может сбить с толку / расстроить.
например. пользователь, использующий IntelliSense, быстро просматривает имена функций, чтобы увидеть, предлагает ли библиотека способ проверить, произошел ли их вызов инициализации:
![IntelliSense only displaying](https://i.stack.imgur.com/FIkA2.png)
Они не найдут are_shapes_initialized()
здесь, если не прокрутить сотни дополнительных имен функций / классов.
Просто переход с is_shapes_initialized()
может дать ясность:
![IntelliSense displaying now all](https://i.stack.imgur.com/ZaYeH.png)
Теперь отображаются все функции.
Но как использование неправильной грамматики может быть хорошим подходом? Разве я не должен просто предполагать, что пользователь должен также спросить IntelliSense о "are_initialized" или просто посмотреть документацию в первую очередь? Наверное, нет, верно? Должен ли я просто отказаться от грамматической правильности?