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