问题标签 [naming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
3606 浏览

sql - 当涉及到数据库列时,您更喜欢冗长的命名吗?

你的偏好是哪一个?

假设我们有一个通用的 Product 表,它有一个 ID、一个名称和一个对类别的外键引用。您是否愿意将您的表命名为:

对列使用显式命名(例如产品名称、产品ID),或类似:

据我所知,.NET 世界中的约定是明确的——示例倾向于使用第一个示例,而开源和 RoR 世界倾向于使用第二个示例。就我个人而言,我发现第一眼看上去更容易阅读和理解: select p.ProductID, p.ProductName, c.CategoryName from Categories c inner join Products p on c.CategoryID = p.CategoryID对我来说似乎比第一个更自然select p.ID AS ProductID, p.Name AS ProductName, c.Name AS CategoryName from Categories c inner join Products p on c.ID = p.CategoryID

我想鉴于我提供的基本示例,这没什么大不了的,但是当您处理大量数据和表格时呢?我仍然会发现第一个示例比第二个示例更好,尽管可能两者的某种组合可能值得研究(<Table>ID对于 ID,但只是Name对于名称?)。显然,在现有项目上,您应该遵循已经建立的约定,但是对于新开发呢?

你的偏好是什么?

0 投票
3 回答
2634 浏览

c++ - C++类成员函数命名规则

我正在尝试将 C 套接字库中的一些函数封装到我自己的 C++ 类中。我想定义一个成员函数,它使用与其对应的 C 函数相同的名称,但具有不同的签名。例如,我想编写函数

调用

编译时出现以下错误

我有正确的#include语句来调用 C 套接字库,但我对写入函数的定义似乎掩盖了它。如果我将类定义函数的名称更改为其他名称,一切似乎都正常。

我有理由确定更改我的函数名称将是我的最终解决方案,但是有人可以告诉我导致这种行为的 C++ 命名规则的名称吗?我想阅读它,以便我知道我将来会做什么。

0 投票
4 回答
242 浏览

dns - 每个产品都需要自己的域吗?

我们正在开始一个我工作的新项目,其中一个正在谈论的事情是产品的名称。公司的其他人似乎非常重视可用的域名,例如。[产品].com。我是说 [product].[companydomain] 或 [companydomain]/[product] 都一样好并且显然可用。

我在胡说八道吗?拥有您想要的名称的域是否有强有力的论据?

0 投票
8 回答
9914 浏览

naming - Naming a count variable

what's better? nNodes or nodeCount

0 投票
3 回答
147 浏览

api - 用于限制结果的 API 命名?

在我们的办公室,我们正在激烈讨论如何在我们的公共 API 中命名一些参数。

在我们为某种列表提供 getter 的任何地方,我们都希望能够限制结果(用于分页)。

即:getPosts/getNews/getUsers/.../应该能够返回项目 0 到 25、50 到 100 等。所以,我们需要两个参数。第一个参数是我们开始的地方,第二个参数是我们结束的地方。

那么,第二个参数应该是绝对的还是相对的?(应该 50,75 退回物品 50-75 还是 50-125?)

我们已经决定了相对,所以第二个参数告诉我们要返回多少项目。

棘手的部分是以清晰一致的方式命名。到目前为止,我们提出的那些:

第一的:

第二:

每个建议都有优点和缺点。使用“page”会让人不清楚它是从 0 开始还是从 1 开始。在这方面使用“index”或“offset”会更清楚,但更具技术性(毕竟,99% 的用户都在使用它进行分页)时间)。

我想这是非常主观的,但我正在寻找明确的利弊,以及好的 API 的示例以及它们使用的内容。

0 投票
9 回答
622 浏览

c++ - 如何在 C++ 中迭代地访问名称仅因数字不同而不同的变量?

我需要一种方法来帮助我,在循环中逐个访问名为“comboBox1”、“comboBox2”等的变量。我想更改如下代码:

进入:

我试图找到像“eval”这样的东西,但谷歌没有给出任何匹配的东西。我还尝试使用运算符## 对名称进行预处理,但似乎无法将当前整数值放入宏中。

0 投票
5 回答
8243 浏览

oop - 命名子类的最佳实践

我经常处于这样一种情况,即我有一个由接口或类表示的概念,然后我有一系列扩展它的子类/子接口。

例如: 一个通用的“DoiGraphNode” 一个代表资源的“DoiGraphNode” 一个代表 Java 资源的“DoiGraphNode” 一个带有关联路径的“DoiGraphNode”,等等等等。

我可以想到三种命名约定,并希望对如何选择提出意见。


选项 1:始终以概念名称开头。

因此:DoiGraphNode、DoiGraphNodeResource、DoiGraphNodeJavaResource、DoiGraphNodeWithPath 等。

Pro:很清楚我在处理什么,很容易看到我拥有的所有选项

骗子:不是很自然?一切看起来都一样?


选项2:把特殊的东西放在开头。

因此:DoiGraphNode、ResourceDoiGraphNode、JavaResourceDoiGraphNode、PathBaseDoiGraphNode 等等等等。

亲:看到代码就很清楚了

缺点:找到它可能很困难,特别是如果我不记得名字,缺乏视觉一致性


选项 3:放置特殊内容并删除一些多余的文本

因此:DoiGraphNode、ResourceNode、JavaResourceNode、GraphNodeWithPath

优点:写和读的不多 缺点:看起来像 cr*p,非常不一致,可能与其他名称冲突

0 投票
1 回答
328 浏览

sql-server - SQL Server 中的键是全局的 - 为什么?

MS SQL Server 中的索引和约束在它们定义的表中是本地的。因此,您可以在多个表中创建相同的索引或约束名称而不会遇到麻烦。

外键约束(每个人都应该知道不是键,而是约束)将出现在 Keys 子文件夹中,并且它们的名称似乎是全局范围的。

有人知道为什么“键”具有全局范围的名称吗?我确实了解键和索引之间的区别。我不明白为什么名称范围会有如此大的差异。在所有情况下,它们对于为其定义的表都是“本地的”。

TIA

0 投票
9 回答
40629 浏览

data-structures - 一个字有多少位,并且在不同的体系结构中是恒定的吗?

机器WORD总是相同还是取决于机器架构?单词WORD的含义是上下文敏感的还是普遍适用的?

0 投票
3 回答
2488 浏览

c++ - C ++首先选择非空元素


[根据更新要求更新问题]
我已经实现了以下函数,它应该返回第一个非空元素或抛出异常。
您还可以发明更经典和更短的名称,例如“max”、“min”、“pair”吗?