Мой вопросУдалить повторяющийся код
IS-У меня есть две строковые переменные site_inclusion
и site_exclusion
. Если site_inclusion
имеет значение, то мне все равно, какие значения содержит site_exclusion
. То есть site_inclusion
переопределяет site_exclusion
. Если, однако, site_inclusion
is 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
истина.
я написал ниже код, но почему-то я думаю, я повторял некоторые вещи здесь в если/еще цикле. Любые улучшения кода будут оценены, чтобы выполнить мои условия.
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
@ Настоятельно. Я даже не заметил SE. –
Ваш пример кода не соответствует вашему описанию. Если 'site_inclusion' НЕ является нулевым и не соответствует шаблону, ваш пример кода проверяет' site_exclusion' для соответствия. Это противоречит точке № 2, где вы говорите, что вы не заботитесь о 'site_exclusion', если' site_inclusion' не равно null. – jahroy