|
|
1
14
这个问题背后有语法上的误解。当我们转换一个短语的形式时: 1. X of Y 进入之内 2. Y X y将所有格(1)中的名词转换为定语(2)中的形容词。因此,当一个人可以在(1)中同时使x和y多元化时,他只能在(2)中使x多元化,因为(2)中的y是一个形容词,而形容词没有 grammatical number .
因此,例如,
后记 特别是,考虑另外两个所有格结构,首先是使用所有格代词“its”的老式结构,单数: 3a. Y, its X 等同复数: 4a. Ys, their X 它们的收缩,4b比3b更不常见: 3b. Y's X 4b. Ys' X
在这里,
所以这是一种误导。 |
|
|
2
5
除非您被约定驱动的系统(ruby on rails、cakephp等)所束缚,为什么不使用outputsoffilters、unionofsets等呢?它们可能不传统,但可能更清晰。 例如,很明显projectionoflinesegments和projectionsoflinesegments是不同的东西,甚至projectionsoflinesegments…. |
|
|
3
5
使用复数形式的名词会使他们更难阅读。 当有很多东西时,它们通常存储在数据结构中—数组、列表、映射、集合等。一般称为集合或 abstract data type . 与项目集合的接口通常是编程环境的一部分(例如,在Java和.NET中的集合,C++中的STL),开发者可以很好地理解它涉及到大量的项目。 您可以避免使名词复数,并使处理多个数量的事实显式化,并通过合并集合的名称指示如何访问它们。例如,
因为它是一个集合类型,所以处理多个对象被理解为是集合类型特有的。然后它将它与setunion放在同一个类中——一个union总是至少包含两个集合,vectorDirectionList清楚地表明可以有多个vectorDirection。 我同意避免单词有多个单词类的同音词,例如filter(事实上,set,虽然在我的思维定势中,它不会真正用作动词,所以我将其解释为名词。)我最初是用filteroutput作为例子写这篇文章的,但它读起来并不好。使用复合过滤器可能有助于消除歧义,例如imagefilteroutputs(或应用我自己的adivce,这将是imagefilteroutputlist)。 当你认为一个类的实例本身总是一个项目——“实例”时,避免使用类名的复数形式似乎很自然。如果我们使用复数名称,那么我们会得到一个不匹配的实例-一个试图暗示它是多个事物的实例-它本身只是一个事物,即使它引用了多个其他事物。上面的集合命名基于此-您有一个实例,它是一个列表、一个映射等,因此不存在不匹配。 我假设您正在讨论编程语言构造,尽管同样的想法也适用于表/视图。它们被理解为包含大量项,因此表名通常是singlular(customer、order、item),即使它们存储多行。多对多映射表通常是相关实体的复合表,例如将订单与项目关联-orderitem。根据我的经验,对表名使用复数使sql很难读取。 总而言之,我会避免复数形式,因为它们使阅读更困难。在某些情况下,使用复数形式比创建嵌套实体和集合的巨大名称更具可读性,但这些都是例外。 |
|
|
4
2
用setsunion示例说明:
.
试着在挤满了人的爱尔兰酒吧里大喊“集合工会”,甚至“集合工会”。;-) |
|
|
5
1
1)我会使用setunion和segmentintersection,因为我认为在这种情况下,复数无论如何都是隐含的,这样看起来更好。 2)同样,出于同样的原因,我会使用filteroutputs和vectorDirections。如果希望更具体,可以始终使用多重筛选输出。 但最终完全取决于你的个人喜好。 |
|
|
6
1
我认为,虽然通用命名约定和一致性很重要,但在一个非常紧凑/复杂的算法中,清晰性应该胜过约定。如果有帮助,请使用verylonganddescriptiveidentifiers。 |
|
|
7
1
union()怎么了? 而且,“集合的联合”变成了“集合的联合”(两个集合的联合是……);我相信我不是唯一一个对camelcase而不是camelscaseminosapostrophes满意的人。如果它需要一个撇号来解释,不要用它。set.union()的读法与“集合的并集”一模一样。 数学也会说“A和B的(集合)联合”,或者很少说“A和B的(集合)联合”。A和B的组合“毫无意义!
大多数人也会看到
如果你真的想,你可以添加一个s并得到向量的索引,但是一致性会给你一个愚蠢的输出的过滤器。 当然,正确的做法是类似struct filterstate{filter filter;output[]outputs;};filterstate[]filterstates;。 |
|
8
0
我建议第一个词用单数:
在IDE中快速进行类搜索,查找:strings*,sets*,vectors*,collections* 不管怎样,不管你选择什么, 始终如一 在整个申请过程中。 |