0

我刚刚开始了一份具有严格内部代码标准的新工作。其中之一,我以前在 Javascript 中见过很多次,它_用作不应从该对象外部访问的对象属性的前缀。

我事实上的个人编码标准倾向于使用很多函数和原语,当我用方法公开对象时,这些通常是语法糖,重复使用的通用插件的别名:我倾向于将所有内容保持在非常严格的范围内,例如每个函数都有不同的目的,并且只给出它需要的数据。结果,在任何给定的范围内,只暴露了最少的部分,并且默认情况下所有内容都是私有的。

下划线前缀属性约定与这里的另外两个大约定密切相关(如我所见),一个是匈牙利符号,另一个是使用必须添加所有内容的整体上帝对象。所以我可以看到,从文化_上讲,自从

  1. 一切都必须在全局对象中作为属性(属性等)公开
  2. 由于任何一段代码都可以看到任何其他代码,因此使用元编码系统来尝试帮助程序员不会错误地践踏彼此的代码

编码标准被固定在一个基座上,但它们是被接收的,因此这里没有人可以充分解释它们的用途或原因。我的愤世嫉俗的观点是,在最早的情况下,开发人员要么认为不适合实现通用的、解耦的代码,要么不知道如何在 JS 中封装,后来开发了匈牙利符号以允许一些一致性,同时有效地拥有以补偿人类对固有危险代码架构的认知努力。

任何人都可以给我一个不那么愤世嫉俗的解释暴露但_前缀属性的价值吗?

4

1 回答 1

0

使用 _ 前缀(有时也是 m_)的一个原因是为了区分一方面的实例变量和另一方面的局部变量和参数,因此它们不能混淆,特别是如果它们具有相同的名称。另一个原因是区分非公共实例变量和公共可见属性,它们由实例变量支持,因此应该具有相同的名称。在像 VB.NET 这样的语言中,这种区别不能通过大小写来区分,所以要添加前缀。

于 2013-02-14T18:16:42.927 回答