Gibt es eine Alternative zu Code mit Hyper-Einzug?

Ich stoße oft auf Code, der viele Überprüfungen durchführen muss und mindestens fünf oder sechs Ebenen eingerückt wird, bevor ich wirklich etwas tue. Ich frage mich, welche Alternativen es gibt.

Below Ich habe ein Beispiel gepostet, von dem ich spreche (das ist kein tatsächlicher Produktionscode, nur etwas, das mir auf den Kopf gekommen ist).

public String myFunc(SomeClass input)
{
    Object output = null;

    if(input != null)
    {
        SomeClass2 obj2 = input.getSomeClass2();
        if(obj2 != null)
        {
            SomeClass3 obj3 = obj2.getSomeClass3();
            if(obj3 != null && !BAD_OBJECT.equals(obj3.getSomeProperty()))
            {
                SomeClass4 = obj3.getSomeClass4();
                if(obj4 != null)
                {
                    int myVal = obj4.getSomeValue();
                    if(BAD_VALUE != myVal)
                    {
                        String message = this.getMessage(myVal);
                        if(MIN_VALUE <= message.length() &&
                           message.length() <= MAX_VALUE)
                        {
                            //now actually do stuff!
                            message = result_of_stuff_actually_done;
                        }
                    }
                }
            }
        }
    }
    return output;
}

Antworten auf die Frage(14)

Ihre Antwort auf die Frage