HeadlinesBriefing favicon HeadlinesBriefing.com

Argumen Fungsi vs Warna

Hacker News •
×

Dalam perdebatan tentang warna fungsi, beberapa orang berpendapat bahwa argumen fungsi bisa menjadi warna, mengutip nilai konteks Go sebagai contoh. Konteks mengelola timeout dan pembatalan, dan dirancang untuk diteruskan melalui fungsi bahkan jika tidak digunakan secara langsung. Setelah suatu fungsi menggunakan konteks, Anda harus meneruskannya ke semua fungsi yang dipanggil, yang secara dangkal tampak seperti warna.

Namun, jika semua parameter adalah warna, konsep tersebut tidak akan ditemukan 50+ tahun setelah fungsi. Async memiliki sifat yang berbeda yang layak untuk ditangkap. Untuk memperjelas, pertimbangkan grafik ketergantungan perubahan: mengubah atribut fungsi yang dalam di tumpukan panggilan dapat memengaruhi pemanggil dengan tiga cara: tanpa perubahan pemanggil, perubahan pemanggil langsung, atau perubahan semua fungsi dalam tumpukan.

Warna memaksa semua fungsi di atas untuk bereaksi, sementara perubahan normal hanya menyebar ke pemanggil dan dapat ditangkap. Dalam praktiknya, fungsi memutus rantai, mengisolasi fungsi yang lebih tinggi dari perubahan yang lebih rendah. Pemrograman terstruktur ada untuk mengisolasi perubahan, dan jika setiap perubahan parameter memaksa perubahan di seluruh tumpukan, itu akan menjadi tidak dapat dikelola.