Dies hängt wirklich davon ab, wie viel Verschachtelung Sie verwenden. Schließlich dürfen Sie Funktionsergebnisse direkt in Ausdrücken verwenden, um die Lesbarkeit zu verbessern. Sowohl Code, der keine verschachtelten Ausdrücke verwendet (wie Assembler-Code), als auch Code, der zu viele verschachtelte Ausdrücke verwendet, sind schwer zu lesen. Guter Code versucht, ein Gleichgewicht zwischen den Extremen herzustellen.
Schauen wir uns also einige Beispiele an. Der, den Sie in Ihrer Frage angegeben haben, scheint mir ziemlich legitim zu sein, also gibt es hier keinen Grund zur Sorge. Allerdings eine Linie wie
foo(bar(baz(moo, fab), bim(bam(ext, rel, woot, baz(moo, fab)), noob), bom, zak(bif)));
wäre definitiv nicht erträglich. Ebenso Code wie
double xsquare = x*x;
double ysquare = y*y;
double zsquare = z*z;
double xysquare = xsquare + ysquare;
double xyzsquare = xysquare + zsquare;
double length = sqrt(xyzsquare);
wäre auch nicht sehr lesbar. sqrt(x*x + y*y + z*z)
ist viel einfacher zu verstehen, obwohl es insgesamt sechs verschiedene Operationen in einem Ausdruck kombiniert.
Mein Rat ist, darauf zu achten, welche Ausdrücke Sie noch leicht in Ihrem Kopf analysieren können. In dem Moment, in dem Sie einen zweiten Blick darauf werfen müssen, was ein einzelner Ausdruck bewirkt, ist es Zeit, eine zusätzliche Variable einzuführen.