【问题标题】:Simple yet reoccurring naming problem简单但反复出现的命名问题
【发布时间】:2009-05-08 08:09:03
【问题描述】:

假设我们有一个方法:

  public String wishes(Date birthday) { 
          String birthayDateString = convertToString(birthay);

  ...

  }

我想知道给现在称为“birthayDateString”的字符串起什么名字最好。此字符串表示转换为文本的日期。我不能把它命名为“生日”,因为这个名字已经被使用了。将其命名为“birthdayString”或“birthdayDateString”是否违反了一些命名约定的良好实践规则?

【问题讨论】:

  • 生日不等于生日。

标签: java naming-conventions readability


【解决方案1】:

实际上看起来不错。

我个人更喜欢birthdayStr - 更短且中肯 - 使其既有意义又简洁。

产量:

  public String wishes(Date birthday) { 
      String birthdayStr = convertToString(birthday);
      // whatever
  }

【讨论】:

    【解决方案2】:

    不,我认为您没有违反任何“最佳做法”标准。在这种情况下,我经常使用变量名,如birthdayTextbirthdayStr

    不过,一般来说,我会尽量使变量名更有意义——如果出现命名冲突,我不会自动添加“Str”或“Text”。但是在这种情况下,它只是日期的字符串表示,所以我说它足够有意义。

    【讨论】:

      【解决方案3】:

      随心所欲地调用它。

      变量名将只在当前方法块的范围内(如果您的代码正确分解/封装,它应该相当小)。

      我个人会选择birthdayStr,只是为了清楚地了解该特定方法。]

      我还将那些 MethodNames 大写为 WishesConvertToString

      【讨论】:

      • 为什么要大写?标准 Java 约定是方法名的驼峰式命名
      • 不过,这是 Java —— Java 中的约定是使用驼峰命名法。 PascalCase 主要是 C# 约定。
      猜你喜欢
      • 2012-02-02
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      相关资源
      最近更新 更多