Saya tidak tahu dari mana asalnya, tetapi itu adalah saran yang bagus dan cukup mudah dipahami.
Setiap program yang dirancang dengan baik akan dipecah menjadi berbagai bagian, digabungkan dan disusun dengan berbagai cara. Semakin sulit untuk berpikir tentang apa yang dilakukan bagian tertentu, semakin sulit untuk memastikan bahwa program Anda akan bereaksi dengan cara yang dapat diprediksi.
Mengisolasi bagian-bagian yang menghasilkan efek samping membuat sisanya lebih mudah untuk dipikirkan, diuji, dan di-debug. Mengurangi jumlah efek samping di setiap bagian yang menghasilkan efek samping akan membuat bagian itu lebih mudah untuk dikerjakan dengan cara yang sama.
Jika Anda menguraikannya lebih jauh, nilai kembali adalah efek. Efek samping adalah efek. Suatu fungsi seharusnya hanya menghasilkan 1 efek (jika mungkin) karena semakin banyak input dan efek yang dimiliki fungsi, semakin besar kesulitan dalam berpikir tentang apa yang sebenarnya dilakukannya.