naming-conventions - 是否有常规同义词用于替换编程语言中保留的关键字?

标签 naming-conventions computer-science keyword linguistics

我所指的单词的主要例子是“对象”、“值(value)”等。在许多(好吧,不是真的,但至少在某些情况下有可能)情况下,您可能会碰巧发现自己愿意命名一个这样你的变量等。

我在实践中偶然发现的另一个例子是“try”,它代表异常处理中使用的关键字(在许多类似 C 语言和其他语言中)和土耳其的货币。但这只是一个有趣的例子,我怀疑是否有任何针对这种特殊情况的常见做法(尽管我觉得前一种情况可能有)。

在这种情况下人们会做什么?在编程和数据建模上下文中,对象、值等合理的同义词有哪些?

例如,假设您正在开发一个对象数据库,出于某种原因,操作对象、属性和值(而不是文档、字段和...呃...值)是其哲学的关键思想之一,并且您真的不想使用与这些语义截然不同的单词。你会用什么词来代替保留词,同时保持与他们的意思非常接近?

到目前为止,我想到的最简单的解决方案是使用拼写错误(或以不同语言拼写)的相同单词的变体,例如“objekt”,“walue”等,但是尽管这可以完成这项工作,但这只是让我非常厌恶,我真的不想接受这样的做法。

更新:事实上,在某些特定情况(特定语言)中使用不同的大小写(有时,这可能违反社区的大小写方面和/或公司的命名约定)方式)和/或命名空间(几乎完全为此引入)可以至少部分解决问题,但我仍然对替代方案感兴趣,因为我相信实际上复制系统关键字是人们至少应该考虑避免的一件事(可能在每种情况下,都有一种方法可以轻松地做到这一点,而无需接受被认为过于严重的妥协。

我什至正在考虑编写一个脚本,通过 GitHub 来分析命名词汇的常见代码元素,但我认为先问而不是“重新发明一辆自行车”总是一个好主意,也许有人已经做了这样的事情已经。

更新2:请帮我一个忙,在投票结束之前以适当的客观性考虑以下问题。出于尊重,我想强调的是,实际情况这个问题的主观性程度较低是情有可原的(不过,我承认,无论如何,主观性程度略高于零)。它唯一真正的缺陷是它可能适合 the English site更好,但我相信 StackOverflow 的受众与上下文更相关(通常以更相关的方式了解情况)。发布这个问题的实际目的是强调一个很容易足够清楚地理解并且不能否认其存在的问题(尽管到目前为止其重要性可能值得怀疑),但提到的太少(因为代码清晰度的重要性)并且语义相关性正在增加,恕我直言,代码作为一种媒体正在迅速获得比书籍更大的文化(在这个词的广义含义上)重要性。并让人们分享他们所知道的实践中解决该问题的方法。

最佳答案

大写: 通常,使用不同的大写而不是同义词即可达到目的,因为大多数语言关键字都区分大小写。例如。 object = new Object();

前缀/后缀:另一个经常遇到的解决方案是写 myObject = new Object() 。您选择哪一个实际上取决于您遵循的命名约定。对于私有(private)类字段,一些开发人员使用下划线,例如this._object指示私有(private)访问修饰符。

规范:但在大多数情况下,您可以找到描述角色的更具体的词 - 例如 instance , parent , childargument - 或子类 - 例如 integern而不是对象的通用数字数据类型。

除上述内容外,许多语言社区还遵循事实上的约定,例如 cls对于类(class),obj对于对象,meself为此等。

关于naming-conventions - 是否有常规同义词用于替换编程语言中保留的关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42739218/

相关文章:

java - 依赖于抛硬币的 while 循环的预期运行时间是多少?

computer-science - “in constant time”意味着什么?

c++ - C++ 'new' 关键字和 C

matlab - 如果一个函数在 MATLAB 中也是一个变量会怎样?

docker - 如何命名 Dockerfile

Python inst/klass 而不是 self ?

algorithm - 非确定性 PDA 如何以及为何比确定性 PDA 更强大?

java - 什么是 "continue"关键字,它在 Java 中是如何工作的?

java - servlet 包的标准命名约定?

Angular 模块名称单数或复数