2015-08-03 125 views
0

我们得到了一些输入,并且我们有一个布尔参数来确定它应该被解析还是不解析。布尔参数'needParse'或'isNeedParse'的正确名称是什么?

那么哪个名称更适合这种情况,needParseisNeedParse

编辑:

现在,我的电话是这样的: if (Page.getPageConfig.getNeedParse()) ...

Class PageConfig { 
    private Boolean needParse; 
    //... 
    //getters and setters. 
} 
+0

我会去'isParseNeeded' – Wicked161089

回答

2

这是isParsingNeeded,但问题应该被关闭,因为它是基于意见。或者getNeedParse

编辑后评论:

有三个独立的问题:

  • JavaBeans规范说,你可以使用getis。基本格式为get,is仅适用于听起来更好的情况。这两个名称都适用于所有工具。因此isNeedParse在技术上等于getNeedParse

  • 这是一种很好的名字,听起来不错。这就是为什么我建议你要么使用isParsingNeeded(如果你能负担得起改变语序)或getNeedParse(如果你被卡住NeedParse;它听起来很糟糕,但更好的在我耳边比isNeedParse

  • ,如果你不要使用任何支持JavaBeans的工具/库(如JSF,Spring,JSP等),任何对JavaBeans标准的遵守都是没有必要的(可以说 - 可能会导致糟糕的设计和内部细节的过度曝光)。在这种情况下 - 只需使用needsParsing()作为方法名称...或者创建一个方法,将解析器作为参数并调用或不调用,具体取决于是否需要解析...或其他任何您认为可行的方法。

+1

Upvote for based based。 – drgPP

+3

我宁愿将其称为'parsingNeeded',以便您可以坚持getter和setter('isParsingNeeded()'和'setParsingNeeded()')的通用命名约定。 – stevecross

+0

请阅读我的编辑... – Sayakiss

0

变量名将是needParse,而函数名将是isNeedParse()

+1

这听起来不自然。 – stevecross

0

有一个稍微正式JavaBeans specification据说那里boolean财产(第8.3.2节)

此外,对于布尔特性,我们允许一个getter方法来匹配 模式:

 public boolean is<PropertyName>(); 

这种is<PropertyName>方法可以代替方法get<PropertyName>,也可以在“get”方法的基础上提供。 在任何一种情况下,如果is<PropertyName>方法存在于布尔型 属性中,那么我们将使用“is”方法来读取 属性值。 一个例子布尔属性可能是:

   public boolean isMarsupial(); 
       public void setMarsupial(boolean m); 

我也看到has而不是is,但没有找到一个有点官方一丝痕迹

1

正如其他人所指出的,从你的选择needParseisNeedParse,isNeedParse是更好的名字为吸气剂(和isParsingNeeded会更好,因为它更容易阅读和理解)。我想补充一点,JavaBeans spec指出布尔类型的getter需要以getgetNeedParse)或isisParsingNeeded)开头,所以如果你想让你的pageConfig成为JavaBean,问题不仅仅是基于观点(比如fdreger建议)。如果您需要将对象序列化或反序列化为XML或JSON(其中非JavaBean获得者像needParse()hasNeedParse()可能不被识别为字段),遵守JavaBean规范可能会有所不同。

1

我称之为parsingNeeded,它给你以下类:

Class PageConfig { 

    private Boolean parsingNeeded; 

    public Boolean isParsingNeeded() { 
     return parsingNeeded; 
    } 

    public void setParsingNeeded(Boolean parsingNeeded) { 
     this.parsingNeeded = parsingNeeded; 
    } 

} 

这样你就可以用的命名约定的getter和setter 坚持,你必须使用有效的英语语法的方法名。然后,您if块 将

if (Page.getPageConfig().isParsingNeeded()) 

这是很容易理解的。

相关问题