Рассмотрим соединения двух существительных, которые на естественном английском языке чаще всего появлялись бы в форме "существительное существительного", например. "направление света", "выход фильтра". При программировании мы обычно пишем "LightDirection" и "FilterOutput".
Теперь у меня проблема с множественными существительными. Есть два случая:
1) единственное число
например. "объединение (двух) множеств", "пересечение (двух) сегментов"
Что правильно, SetUnion и SegmentIntersection или SetsUnion и SegmentsIninterection?
2) множественное число
Существует два подкадра:
(a) Многие элементы, каждый из которых имеет множество связанных элементов, например. "выходы фильтров"
(b) Многие элементы, каждый из которых имеет один связанный элемент, например. "направления векторов"
Должен ли я использовать FilterOutputs и VectorDirections или FiltersOutputs и VectorsDirections?
Я подозреваю, что правильная версия - первая версия (FilterOutupts, VectorDirections), но я думаю, что это может привести к двусмысленности, например.
- FilterOutputs - много выходов одного фильтра или много выходов многих фильтров?
- LineSegmentProjections - проекции многих сегментов или много проекций одного сегмента?
Каковы общие правила, я должен следовать?