Я делаю свою собственную небольшую библиотеку удобных функций и пытаюсь следовать соглашению об именах Фобоса, но я действительно запутался. Откуда я знаю, где вещи подходят?
Пример:
Если бы в Фобосе была функция вроде foldRight
(по сути reduce
в обратном направлении), в каком модуле я бы ее нашел?
Я могу думать о нескольких:
std.algorithm
: Потому что это выражение алгоритмаstd.array
: Потому что я, скорее всего, буду использовать его для массивов.std.container
: потому что он используется для контейнеров, а не для отдельных объектов.std.functional
: Потому что он используется в основном в функциональном программировании.std.range
: Потому что он работает и с диапазонами.
но я понятия не имею, какой из них был бы хорошим выбором - я мог бы привести убедительные аргументы по крайней мере в пользу трех из них.
Какая конвенция?