2010-05-05 127 views
1

什么是一般意义和它开始有变量与领先尾随下划线?这些变量命名约定的起源/含义是什么?

我一直以为领先的下划线表示变量是一个指针,但我不知道我在哪里得到了这个想法。最近我看到了Java中使用的这些命名约定,这使得推理完全错误。

回答

1

这取决于编程语言。

在C/C++中,_varname microsoft使用它来命名内部编译器变量,以将它们与用户变量区分开来。最近虽然我已经开始看到前缀_和后缀_作为表示各种语言的实例变量的一种方式。

1

据我所知,最初的下划线是不区分大小写的语言的推荐惯例,例如。 VB,表示私人成员,通常与没有下划线的公共财产一起发现。

0

虽然这可能并不有助于起源故事任​​何一种情况下...

在Perl中,前面的下划线是一个穷人的私有成员一个社会契约。在经典的Perl OOP中没有私有成员,所以使用下划线是一种通信方式,表示不应该触及,修改或直接调用此字段或方法。

实际上,我通常使用尾部下划线重新创建一个变量,就像我重构时一样。原来的变量将被一个旧的糟糕的界面占据,而使用完全相同的名称的新变量将使用闪亮,美丽的界面。

var dog = 'golden retriever'; 
var dog_ = BRD_GOLDEN_RETRIEVER; 

process(dog); 
Shelter->Process(dog_); 

显而易见,并排性只是暂时的。 dog_的存在是暂时的。