La reducción de la complejidad del código de declaraciones if-else

Angelina:

Mi código de análisis plugin se quejaba de la complejidad del código en el método que contiene el código siguiente. Noté siguiente código miradas como que podría combinarse, pero no estoy seguro de cómo hacerlo:

for(Command command : commands) {
    if (command instanceof AddCommand || command instanceof UpdateCommand) {
        if (!isMaturityDateInPast() && !paymentDueDate().isAfter(LocalDate.now())) {
            command.execute(request);
        }
    } else {
        command.execute(request);
    }
}

He intentado introducir variable booleana y se establece tanto en si, y else, pero que aumenta más líneas de código. No soy muy bueno cuando se trata de colocar lógicamente partes de código que tienen algo en común. Puedo decir que esto if-elsepodría combinarse, pero no sé cómo hacerlo. ¿Alguien puede arrojar algo de luz?

caído:

Me gustaría hacer temprano continuepara evitar la repetición de command.execute(). No creo que vale la pena combinar las condiciones en una o crear otra función por su causa.

for(Command command : commands) {
  if (command instanceof AddCommand || command instanceof UpdateCommand) {
    if (isMaturityDateInPast() || paymentDueDate().isAfter(LocalDate.now())) {
        continue;
    }
  }
  command.execute();
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=231417&siteId=1
Recomendado
Clasificación