我的问题是 -删除重复的代码
我有两个字符串变量site_inclusion
和site_exclusion
。如果site_inclusion
有一个值,那么我不在乎site_exclusion
包含什么值。也就是说site_inclusion
优先于site_exclusion
。但是,如果site_inclusion
是null
和site_exclusion
有一个值,那么我想检查site_exclusion
。
为了更精确:
- 如果
site_inclusion
和site_exclusion
均为null
然后设置作为useTheSynthesizer
true
; - 如果
site_inclusion
不是null
并且它与regexPattern
匹配,则将useTheSynthesizer
设置为true
。我不在乎site_exclusion
有什么价值。 - 如果
site_inclusion
是null
和site_exclusion
不null
和site_exclusion
不匹配regexPattern
然后设置useTheSynthesizer
为true。
我写了下面的代码,但我总觉得,我在的if/else循环重复这里一些东西。任何代码改进将不胜感激,满足我的条件。
String site_inclusion = metadata.getSiteInclusion();
String site_exclusion = metadata.getSiteExclusion();
// fix for redundant data per site issue
if(site_inclusion != null && site_inclusion.matches(regexPattern)) {
useTheSynthesizer = true;
} else if(site_exclusion != null && !(site_exclusion.matches(regexPattern))) {
useTheSynthesizer = true;
} else if(site_inclusion == null && site_exclusion == null) {
useTheSynthesizer = true;
}
可能更适合[codereview.stackexchange.com](http://codereview.stackexchange.com/) – Torious
@Torious:的确如此。我甚至没有注意到codereview SE。 –
您的示例代码与您的描述不符。如果'site_inclusion'不为空,且它与模式不匹配,则示例代码继续检查'site_exclusion'是否匹配。这与第2点相矛盾,如果'site_inclusion'不为空,那么你说你不关心'site_exclusion'。 – jahroy