【问题标题】:What is the origin / meaning of these variable naming conventions?这些变量命名约定的起源/含义是什么?
【发布时间】:2010-05-05 13:31:30
【问题描述】:

一般含义是什么?它是从哪里开始出现带有前导尾随下划线的变量?

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

【问题讨论】:

    标签: variables naming-conventions


    【解决方案1】:

    这取决于编程语言。

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

    【讨论】:

      【解决方案2】:

      据我所知,最初的下划线是不区分大小写语言的推荐约定,例如。 VB,表示私有成员,通常与不带下划线的公共属性一起出现。

      【讨论】:

        【解决方案3】:

        虽然这可能对这两种情况的起源故事没有贡献...

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

        在实践中,我通常使用尾随下划线来重新创建变量,就像在重构时一样。原始变量将被一个旧的、糟糕的界面占用,而使用完全相同名称的新变量将使用闪亮、漂亮的界面。

        var dog = 'golden retriever';
        var dog_ = BRD_GOLDEN_RETRIEVER;
        
        process(dog);
        Shelter->Process(dog_);
        

        显然,并排的关系只是暂时的。 dog_ 的存在是短暂的。

        【讨论】:

          猜你喜欢
          • 2011-02-12
          • 2018-11-18
          • 2010-09-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-04
          • 2011-08-20
          相关资源
          最近更新 更多