Java 简单但反复出现的命名问题

Java 简单但反复出现的命名问题,java,naming-conventions,readability,Java,Naming Conventions,Readability,假设我们有一个方法: public String wishes(Date birthday) { String birthayDateString = convertToString(birthay); ... } 我想知道现在称为“birthayDateString”的字符串的最佳名称是什么。此字符串表示转换为文本的日期。我不能把它命名为“生日”,因为这个名字经常被使用。将其命名为“birthdayString”或“birthdayDateString”

假设我们有一个方法:

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

  ...

  }

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

实际上看起来不错

我个人更喜欢
birthdayStr
——简短,切中要害——既有意义又简洁

屈服:

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

不,我不认为你违反了任何“最佳实践”标准。在这种情况下,我经常使用变量名,如
birthdayText
birthdayStr


不过,一般来说,我会尽量让变量名有意义——如果发生命名冲突,我不会自动加上“Str”或“Text”。但在本例中,它只是日期的字符串表示形式,因此我认为它很有意义。

可以随意调用它

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

就我个人而言,我会选择
birthdayStr
,这只是为了清楚地说明具体的方法。]


我还将那些方法名大写为
愿望
转换字符串

为什么大写?标准Java约定是camelCase for method Names这是Java,尽管Java中的约定是使用camelCase。生日通常是一种习俗。生日不等于生日。