考虑两个名词的复合词,它们在自然英语中通常会以“名词名词”的形式出现,例如“光的方向”,“滤光器的输出”。编程时,我们通常会写“LightDirection”和“FilterOutput”。
现在,我对复数名词有疑问。有两种情况:
1)复数形式
例如“(两个)集合的联合”,“(两个)分段的交集”
SetUnion和SegmentIntersection或SetsUnion和SegmentsIntersection中哪个正确?
2)复数
有两种子情况:
(a)许多要素,每个要素都有许多相关要素,例如“过滤器的输出”
(b)许多要素,每个要素都有一个相关要素,例如“ vector 的方向”
我应该使用FilterOutputs和VectorDirections还是FiltersOutputs和VectorsDirections?
我怀疑第一个版本是正确的(FilterOutupts,VectorDirections),但我认为这可能会导致歧义,例如
我应该遵循哪些一般规则?
最佳答案
这个问题背后有语法上的误解。当我们使用形式短语时:
1. X的Y
进入
2. Y X
Y将语法角色从所有格(1)中的名词更改为定语(2)中的形容词。因此,尽管在(1)中可以同时对X和Y进行复数,但在(2)中可以仅对X进行复数,因为(2)中的Y是形容词,而形容词没有grammatical number。
因此,例如SetsUnion
与英语不符。如果适合您,可以自由使用它,但是您正在寻求可读性,我建议您不要使用它。
后记
特别要考虑其他两个所有格结构,首先是使用所有格代词“它”的老式结构:
3a。 Y,X
等价的复数:
4a。是的,他们的X
及其收缩,其中4b比3b少得多:
3b。 Y的X
4b。 Ys'X
在这里,SetsUnion
表示它是单数所有格(3)Set's Union
(= Set, its Union
)的呈现,您打算在其中传达复数所有格(4)Sets, their Union
(转换为较不常见的Sets' Union
)。
因此,这是一种误导。
关于naming-conventions - 语法正确的双名词标识符,复数形式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2773481/