【发布时间】:2010-05-05 13:31:30
【问题描述】:
一般含义是什么?它是从哪里开始出现带有前导或尾随下划线的变量?
我一直认为前导下划线表示变量是指针,但我不知道我从哪里得到这个想法。最近我看到了 Java 中使用的这些命名约定,这使得这种推理完全错误。
【问题讨论】:
标签: variables naming-conventions
一般含义是什么?它是从哪里开始出现带有前导或尾随下划线的变量?
我一直认为前导下划线表示变量是指针,但我不知道我从哪里得到这个想法。最近我看到了 Java 中使用的这些命名约定,这使得这种推理完全错误。
【问题讨论】:
标签: variables naming-conventions
这取决于编程语言。
在 C/C++ 中,_varname microsoft 使用它来命名内部编译器变量,以将它们与用户变量区分开来。虽然最近我开始将前缀 _ 和后缀 _ 视为在各种语言中表示实例变量的一种方式。
【讨论】:
据我所知,最初的下划线是不区分大小写语言的推荐约定,例如。 VB,表示私有成员,通常与不带下划线的公共属性一起出现。
【讨论】:
虽然这可能对这两种情况的起源故事没有贡献...
在 Perl 中,前导下划线是穷人私人成员的社会契约。经典 Perl OOP 中没有私有成员,因此使用下划线是一种表示不应直接触及、修改或调用此字段或方法的方式。
在实践中,我通常使用尾随下划线来重新创建变量,就像在重构时一样。原始变量将被一个旧的、糟糕的界面占用,而使用完全相同名称的新变量将使用闪亮、漂亮的界面。
var dog = 'golden retriever';
var dog_ = BRD_GOLDEN_RETRIEVER;
process(dog);
Shelter->Process(dog_);
显然,并排的关系只是暂时的。 dog_ 的存在是短暂的。
【讨论】: