我所说的单词的主要例子是“对象”,“价值”等等。在很多(好吧,不是真的,但至少在某些情况下有机会)的情况下,你可能碰巧发现自己愿意命名一个你这样的变量等。
我在实践中偶然发现的另一个例子是“try”,它代表了在异常处理和土耳其货币中使用的关键字(在许多C语言和其他语言中)。但这只是为了好玩的一个例子,我怀疑这个特殊情况有任何常见的做法(虽然我觉得可能有上一个)。
在这种情况下人们做了什么?在编程和数据建模上下文中,对象,值等是否合理?
例如,假设您正在开发一个对象数据库,操纵对象,属性和值(而不是文档,字段和......呃...值)由于某种原因,是其哲学和您的关键思想之一真的不想使用与这些语义截然不同的单词。你会用什么词来取代保留的词,同时保持感觉与他们的感觉非常接近?
到目前为止最简单的解决方案是使用拼写错误(或用不同的语言拼写拼写)各种相同的单词,如“objekt”,“walue”等,但是虽然这可以完成这项工作我非常厌恶我真的不想接受这种方式。
更新:确实,在某些特定情况下(特定语言)使用不同的情况(有时,可能会违反通用性和/或公司命名惯例的案例方面方式)和/或命名空间(几乎已经为此引入)可能至少部分地解决了这个问题,但我仍然对替代方案感兴趣,因为我认为实际上复制系统关键字至少应该考虑避免(可能在任何情况下都有办法轻松地做到这一点而不接受被认为过于严重的妥协。
我甚至考虑编写可以通过GitHub来分析命名词汇的常用代码元素的脚本,但我认为首先要求而不是“重新发明自行车”总是一个好主意,也许有人做过这样的事情。已经
UPDATE2: 在投票结束前,请帮我一个忙,并考虑以下适用的客观程度。尽管我尊重所以我想强调一下这个问题的主观性程度很低(但我承认,无论如何都略高于零)。它唯一真正的缺陷是它可能更适合the English site,但我相信StackOverflow的观众与上下文更相关(通常以更相关的方式通知)。发布这个问题的实际目的是突出一个相当容易理解的问题,并且不能否认存在的问题(尽管到目前为止它的重要性可能有问题),但是说得太少(代码清晰度的重要性)和语义相关性正在增加,恕我直言,作为一种媒体的代码正在迅速转向获得更大的文化(在这个词的广义上)重要性而不是书籍。并且让人们分享他们在实践中解决它的方法。
答案 0 :(得分:1)
大写:通常,不同的大写而不是同义词就可以了,因为大多数语言关键字都区分大小写。例如。 object = new Object();
前缀/后缀:另一种经常遇到的解决方案是编写myObject = new Object()
。您选择哪一个取决于您遵循的命名约定。对于私有类字段,一些开发人员使用下划线,例如this._object
表示私有访问修饰符。
规范但是,在大多数情况下,您可以找到描述该角色的更具体的字词,例如instance
,parent
,child
或{{ 1}} - 或者您的对象的子类 - 例如argument
或integer
而不是通用数字数据类型。
除上述内容外,许多语言社区都遵循事实上的约定,例如n
代表类,cls
代表对象,obj
或me
等。