问题标签 [naming-conventions]
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.
naming-conventions - 由具有布尔值的 id 索引的数组的最佳名称
我痴迷于我使用的数组和变量的最佳名称,我会在同义词库、字典等中查找单词。
所以我试图命名这个数组/结构:
它用于检查该 id 是否具有特定属性,就像这样
问题是我得到了很长的变量名,比如
关于如何更好地命名数组的这个特定函数的任何想法?或更好的名字
javascript - 为什么 JavaScript 变量会以美元符号开头?
我经常看到带有以美元符号开头的变量的 JavaScript。您何时/为什么选择以这种方式为变量添加前缀?
(我不是在问$('p.foo')
你在 jQuery 和其他人中看到的语法,而是像$name
和这样的普通变量$order
)
sql - 数据库表中 ID 列的命名
我想知道人们对数据库表中 ID 列命名的看法。
如果我有一个名为 Invoices 的表,其主键是标识列,我会调用该列 InvoiceID,这样我就不会与其他表发生冲突,而且很明显它是什么。
在我工作的地方,他们已将所有 ID 列称为 ID。
所以他们会做以下事情:
现在,我在这里看到了一些问题:
1. 您需要为 select 上的列设置别名
2. ID = InvoiceID 不适合我的大脑
3. 如果您没有为表设置别名并引用 InvoiceID,那么很明显是什么表它开着?
其他人对这个话题有什么看法?
naming-conventions - 非常长的类/变量/属性/方法名称
我的一些朋友和同事有一个小小的竞赛来寻找或写出最长的类/变量/属性/方法名。请记住,我们努力成为好男孩和女孩,并保持命名清晰明了,同时仍通过名称解释事物的作用。
有时它只是不会发生。你遇到过这个吗?我只是想看看外面有什么。(也许我和我的朋友并没有我们想象的那么疯狂)
注意:我不是在寻找错误的命名。那已经在这里了。我正在寻找一个有点长的好名字。
sql - 为什么在列名中指定主/外键属性
最近的几个问题讨论了命名列的策略,我很惊讶地发现在列名中嵌入外键和主键的概念。那是
我不得不承认我从来没有在任何使用这种方案的数据库系统上工作过,我想知道有什么好处。在我看来,一旦您了解了系统的 N 个主表,您将使用这些表编写多个数量级的请求。
为了提高开发效率,您需要了解哪些表是重要的表,哪些是简单的支流。您需要将大量列名提交到内存中。其中一项基本任务是将两个表连接在一起。为了减少学习工作量,最简单的做法是确保两个表中的列名相同:
我认为,作为开发人员,您不需要过多地提醒哪些列是主键,哪些是外来的,哪些什么都不是。如果您很好奇,可以很容易地查看架构。随意看的时候
...知道哪个是外键重要吗?外键仅对数据库引擎本身很重要,以允许它确保引用完整性并在更新和删除期间做正确的事情。
这里要解决什么问题?(我知道这是一个讨论的邀请,并且可以随意这样做。但与此同时,我正在寻找答案,因为我可能真的错过了一些东西)。
language-agnostic - 您是否使用特定的约定来命名互补变量?
我经常发现自己试图为互补的变量对取个好名字。其中两个变量表示相反的概念,两个参与者在某种形式的对话中,等等。
这可能通过一个反例更好地解释 - 我维护一个应用程序,它打印两个图形作为印刷广告的一部分。它们以 和 的形式存储在数据库中TopLogo
,LowerLogo
每次使用它们时我都必须停下来仔细检查,因为我希望top
补充bottom
,并且lower
应该补充upper
。
有一些我认为效果很好的明显例子:
client / server
source / target
用于将数据或文件从一个变量复制/移动到另一个变量
minimum / maximum
但是有些概念不适合这种简洁的命名方案。例如,在对记录进行分页时,“last”是指“final”还是“previous”?我最近看到了一些使用firstPage
,和完全避免模棱两可的代码previousPage
,我认为这很糟糕,因此提出了这个问题。nextPage
finalPage
lastPage
您有什么特别简洁的变量名对想与我们分享吗?(如果它们的长度相同,则加分,这使得等宽字体中的代码更加整洁。)
language-agnostic - 查找映射/哈希的良好命名约定是什么?
在数据处理中,我经常需要创建一个查找数据结构来将一个标识符映射到另一个标识符。作为一个具体的例子,让我们看一个结构,它包含一个国家的 2 个字符代码和它的全名之间的 1 对 1 映射。在里面我们会有
保存这张地图的变量的好名字是什么?一些想法(我将使用驼峰命名):
ruby - Ruby 中的标准文件命名约定
对于包含给定类 SomeCoolClass 的文件,正确或标准的文件名是什么?
或其他一些变化?
我注意到在 Ruby 标准库中,使用了版本 1、2 和 3。
naming-conventions - 接口是否有 ISomething / ISomethingable 的替代方案?
使用 I 作为接口名称前缀的 .NET 标准似乎越来越普遍,并且不再仅限于 .NET。我遇到了很多使用这种约定的 Java 代码(所以如果 Java 在 C# 之前使用它,我不会感到惊讶)。Flex 也使用它,等等。不过,在名称的开头放置一个 I 有点匈牙利符号的味道,所以我对使用它感到不舒服。
所以问题是,是否有另一种方式来表示Something 是一个接口,而不是一个类,并且无论如何都需要这样表示它。还是它成为一个标准,所以我应该接受它并停止试图通过建议以不同的方式来挑起“宗教战争”?
c++ - 在 C++ 标识符中使用下划线的规则是什么?
在 C++ 中,使用某种前缀来命名成员变量是很常见的,以表示它们是成员变量,而不是局部变量或参数。如果您来自 MFC 背景,您可能会使用m_foo
. 我也myFoo
偶尔看到。
C#(或者可能只是 .NET)似乎建议只使用下划线,如_foo
. 这是 C++ 标准允许的吗?