Ketika berhadapan dengan algoritma rumit dalam bahasa dengan dukungan untuk fungsi bersarang (seperti Python dan D) saya sering menulis fungsi besar (karena algoritme rumit) tetapi mengurangi ini dengan menggunakan fungsi bersarang untuk menyusun kode rumit. Apakah fungsi besar (100+ garis) masih dianggap jahat meskipun terstruktur dengan baik secara internal melalui penggunaan fungsi bersarang?
Sunting: Bagi Anda yang tidak terbiasa dengan Python atau D, fungsi bersarang dalam bahasa ini juga memungkinkan akses ke lingkup fungsi luar. Di D, akses ini memungkinkan mutasi variabel di lingkup luar. Dalam Python hanya memungkinkan membaca. Dalam D Anda dapat secara eksplisit menonaktifkan akses ke lingkup luar di fungsi bersarang dengan mendeklarasikannya static
.