Programming languages 是否有一个不应该在编程中使用的名称列表?

Programming languages 是否有一个不应该在编程中使用的名称列表?,programming-languages,Programming Languages,web上是否有创建模型或变量时不应使用的项目列表 例如,如果我想创建公寓列表,那么将来命名一个类似于Property的模型会有问题,而且会让人困惑,因为Property是一个内置Python函数 我确实试过用谷歌搜索这个,但什么也找不到 谢谢 一般来说,编程语言中有一些“保留字”或“关键字”,您可能无法使用,或者在某些情况下,您应该避免使用它们。对于Python,您可以找到该列表。根据上下文,大多数自然语言中的大多数单词可能具有不同的含义。这就是为什么我们使用说明符来明确单词的含义。如果在任何情

web上是否有创建模型或变量时不应使用的项目列表

例如,如果我想创建公寓列表,那么将来命名一个类似于
Property
的模型会有问题,而且会让人困惑,因为
Property
是一个内置Python函数

我确实试过用谷歌搜索这个,但什么也找不到


谢谢

一般来说,编程语言中有一些“保留字”或“关键字”,您可能无法使用,或者在某些情况下,您应该避免使用它们。对于Python,您可以找到该列表。

根据上下文,大多数自然语言中的大多数单词可能具有不同的含义。这就是为什么我们使用说明符来明确单词的含义。如果在任何情况下,您认为某个特定的标识符可能会令人困惑,您可以添加一个说明符来澄清。例如,
ObjectProperty
可能与房地产无关,即使在处理房地产的应用程序中也是如此

您呈现的案例与使用没有附加上下文的通用标识符没有什么不同。例如,名为
limit
length
的变量在不同的程序中可能具有完全不同的含义。只需使用有意义的标识符,并广泛记录其含义。在您自己的代码库中保持一致也是更好的选择。不要让你的生活变得复杂,因为那些被禁止的术语列表永远不会完整,只会让编程变得更加困难


明显的例外是由您选择的编程语言保留的单词,但无论如何,没有一个像样的编译器允许您使用它们……

有关命名的规则和约束取决于编程语言。标识符/名称的绑定方式取决于语言语义及其语法:标识符/名称将根据作用域绑定到不同的元素。范围界定通常是词汇性的(即静态的),但有些语言具有动态范围界定(lisp的一些变体)

如果名称不同,则范围界定不会出现混淆。如果标识符/名称在交叉作用域中重用,则标识符/名称可能会屏蔽另一个标识符/名称。这被称为。这是一个混乱的根源

某些保留名称(即关键字)具有特殊含义。这样的关键字可以作为其他元素的名称被禁止,也可以不被禁止

例如,在Smallatalk中,
self
是一个关键字。不过,仍然可以声明一个临时变量
self
。在临时变量可见的范围内,
self
解析为临时变量,而不是消息接收方的常规self

当然,常规名称之间可能会出现阴影

范围规则也考虑类型,并且

另一个与绑定相关的混淆源是。在静态类型语言中,执行哪个方法取决于调用站点的静态类型。在某些情况下。应避免阴影和重载,以避免混淆


如果您的目标是将Python翻译成Javascript,反之亦然,那么我想您需要检查两种语言的范围规则和关键字,以确保您的翻译不仅在语法上是正确的,而且在语义上也是正确的

谷歌搜索特定语言+保留字。搜索可用的运算符也是谨慎的,因为越来越多的语言正在采用特定的运算符。非常通用的术语,如
属性
上下文
说明
信息
属性
,不需要保留,但在API/框架中经常使用。尝试粘贴来自应用程序业务域的名称。您可能有兴趣查看变量隐藏()和方法重载()。这两种方法都应该避免,以避免混淆。@ewernli,您想编辑您的评论并添加您最后的评论作为答案吗?这就是我要找的。谢谢你提供了这个,而不是解释为什么我不需要一个混乱列表。实际上,我正在编写一个应用程序,它将在视图中从Python传递到Javascript,因此Python中的一个函数可能不是Javascript中的函数,反之亦然。我不知道为什么回答者认为我会用一种语言写东西。@AAA很高兴听到这有帮助。我添加了它作为一个答案。我更希望一个程序员提出的版本不是“官方的”,而是建议的。虽然我可以将一个模型命名为Property之类的名称,但不推荐使用它,因为小写属性是Python函数。@AAA:我不确定您到底在问什么。你的实际问题是什么?它只是与保留字冲突吗?还是其他什么?@AAA:正如thkala提到的,我只想用一种在项目背景下有意义的清晰、合理的方式命名事物。我理解你们所有人的意思,命名冲突的事物已经出现了错误,但我只是想要一个简单的列表——可能是博主发布的东西——而不是解释为什么我不需要一个列表@特卡拉,我不确定我是否理解你不理解的东西。比如说,我个人不会在Django中命名一个名为“property”的应用程序,因为
property
是一个Python函数——目前,您可以在Django中命名一个名为property的应用程序。这有点像用
xyz
命名变量,但这样的变量不够清晰。