Ketika membuat perubahan pada sistem besar, saya sering menghadapi masalah yang memerlukan beberapa fungsionalitas untuk mendapatkan beberapa data dari bagian lain, tetapi mereka berada di bagian yang berbeda dari pohon panggilan yang dalam dan bercabang, mungkin mengalir melalui pendengar acara, panggilan yang ditangguhkan, dll. Dengan cara ini, perubahan sederhana dapat terjadi dengan cepat.
Kutipan terkait dari posting blog Yossi Kreinin di http://www.yosefk.com/blog/i-want-a-struct-linker.html :
Anda memiliki semacam struktur data yang sering Anda bagikan. Segera, hal yang paling berharga tentang struktur bukanlah data yang disimpannya, tetapi fakta bahwa itu tersedia sepanjang jalan melalui beberapa aliran kontrol berbulu.
Variabel global adalah salah satu cara klasik untuk membiarkan kode "berteriak" ke kode yang jauh, tetapi mereka diketahui bermasalah. Variabel yang dicakup secara dinamis adalah cara yang lebih terbatas, tetapi mereka juga bermasalah.
Apakah ada penelitian bahasa pemrograman yang ditujukan untuk memecahkan masalah ini? Bisakah kita membuatnya lebih mudah untuk menambahkan aliran data yang tidak terduga ke basis kode besar, sementara masih memiliki pemeriksaan statis, pengujian unit mudah dan barang lainnya?