【发布时间】:2017-08-25 13:13:34
【问题描述】:
我有一个解析字符串并将其转换为布尔值的方法。 合法值为“true”和“false”。
boolean convertStringToBoolean(String text) {
if (text.equals("true") {
return true;
} else if (text.equals("false")) {
return false;
} else {
throw new IllegalArgumentException(text);
}
}
当我使用这个变量时,我遇到了命名问题。
void doSomething(String isSpecificReadString) {
boolean isSpecificRead = convertStringToBoolean(isSpecificReadString);
...
}
问题是参数带有我想保留在其名称中的含义。 意义不会因为类型改变而改变。 到目前为止,我的解决方案只是将类型添加到参数的后缀。 但我不喜欢这种解决方案。
我应该怎样称呼变量来解决这个问题?
【问题讨论】:
-
定义你从此方法调用的重载
void doSomething(boolean isSpecificRead);或者您直接调用,如doSomething(convertStringToBoolean(text))。 -
这归结为见仁见智,因此对于 SO 来说是题外话。做你认为最简单、最清晰的事情,坚持不懈地去做,你会没事的。
-
当然,问题是:为什么
doSomething首先接受"true"/"false"String? -
@T.J.克劳德,wrt。我的问题是题外话,然后我不同意。是的,问题是基于意见的,但是有很多约定来处理命名。这个话题经常在 Java 书籍中讨论,使其成为一个值得解决的问题。我提出了一个具体的案例,我要求这样的约定。
标签: java naming-conventions naming