【发布时间】:2016-11-06 17:06:22
【问题描述】:
我试图重构代码并且遇到了这段代码。 您能否建议其中的任何重构,并请说出您使用的重构。
private void setUpBag(String language){
if(language.equals("english")){
/* add letters with English distribution to bag */
}
else if(language.equals("french")){
/* add letters with French distribution to bag */
}
else if(language.equals("russian")){
/* add letters with Russian distribution to bag */
}
else{
throw new IllegalArgumentException("Unknown language");
}
}
【问题讨论】:
-
除了使用switch语句代替if-else之外,没有太大的改进空间。但是顺便说一句,上面的代码有什么问题?
-
没有问题,但我只是发现对于每种新语言我都必须添加一个 else if 语句,所以我想知道是否有任何方法可以重构它。
标签: java refactoring