Ini sangat tergantung pada seberapa banyak sarang yang Anda gunakan. Bagaimanapun, Anda diizinkan untuk menggunakan hasil fungsi secara langsung dalam ekspresi untuk meningkatkan keterbacaan. Keduanya, kode yang tidak menggunakan ekspresi tersarang (seperti kode assembler), dan kode yang menggunakan terlalu banyak ekspresi tersarang sulit dibaca. Kode yang baik mencoba untuk mencapai keseimbangan di antara yang ekstrem.
Jadi mari kita lihat beberapa contoh. Yang Anda berikan dalam pertanyaan Anda tampaknya cukup sah bagi saya, jadi tidak perlu khawatir di sini. Namun, garis seperti
foo(bar(baz(moo, fab), bim(bam(ext, rel, woot, baz(moo, fab)), noob), bom, zak(bif)));
pasti tidak akan ditoleransi. Demikian juga, kode suka
double xsquare = x*x;
double ysquare = y*y;
double zsquare = z*z;
double xysquare = xsquare + ysquare;
double xyzsquare = xysquare + zsquare;
double length = sqrt(xyzsquare);
tidak akan terlalu mudah dibaca. sqrt(x*x + y*y + z*z)
jauh lebih mudah dipahami, meskipun menggabungkan total enam operasi berbeda dalam satu ekspresi.
Saran saya adalah perhatikan ekspresi apa yang masih bisa Anda uraikan dengan mudah. Saat Anda perlu melihat kedua untuk memahami apa yang dilakukan ekspresi tunggal, sekarang saatnya untuk memperkenalkan variabel tambahan.