Saya pikir penting untuk memperluas sedikit lebih jauh pada debugging "terbalik" atau "bersejarah" ini. Saya pikir untuk memahami sistem dan perilaku yang kompleks pada mereka, untuk memutar ulang "peristiwa" yang membuat negara eksplisit sangat penting.
Yang ingin saya ungkapkan adalah bahwa Anda tidak sendirian dalam bertanya-tanya mengapa teknik ini tidak begitu banyak diterapkan saat ini atau mengapa masalah terkait jarang dibahas dengan jelas.
Jadi mari kita tekankan dua konsep yang sangat penting di sini:
1.Untuk memahami sistem pemrograman, sangat membantu untuk membuat keadaan menjadi eksplisit
2.Untuk lebih memahami sistem pemrograman, memutar ulang urutan keadaan (peristiwa) dapat banyak membantu.
Berikut adalah beberapa sumber yang menangani masalah dan mengusulkan atau merancang solusi untuk masalah tersebut (berurusan dengan keadaan dalam sistem yang kompleks):
-Luar dari bit tar, kertas: http://shaffner.us/cs/papers/tarpit.pdf
Gagasan utama: hindari, isolasi, atau buat status eksplisit
-CQRS
http://www.cqrs.nu/
Ini adalah kombinasi dari dua konsep: Segregasi Command Query dan Event Sourcing. Ada beberapa implementasi yang berbeda (Java, C #, Scala). Pemutaran ulang urutan Tate dan pengembangan model domain adalah bagian penting di sini.
Jika Anda benar-benar memperkecil dan melihat gambar yang sangat luas, Anda sudah dapat melihat bahwa dengan "naiknya" pemrograman fungsional orang sudah ((tidak) secara sadar) tertarik pada fp karena membuat keadaan eksplisit! Tapi itu hanya berurusan dengan poin satu, untuk mengatasi yang kedua Anda memerlukan konsep lain yang bisa "longgar" digambarkan sebagai pemrograman reaktif fungsional.
Jadi Anda bisa mengatakan semuanya dengan baik dan bagus tetapi siapa yang sebenarnya menggunakan CQRS dan FRP? Saya akan mengatakan (IMO karena saya tidak memiliki angka nyata) sebenarnya banyak perusahaan hanya karena mereka tidak tahu pekerjaan yang mereka lakukan memiliki terminologi ini. Mungkin Anda sedikit google dan Anda mendengar dari perusahaan yang menggunakan CQRS, ada beberapa kisah sukses yang sudah ada. FRP juga meningkat perlahan sebagai contoh yang bisa saya berikan kepada Netflix: http://techblog.netflix.com/2013/02/rxjava-netflix-api.html
Yang baru saja merilis implementasi RX yang sebenarnya berbasis NET. (Tetapi sudah implementasi Javascript juga). Jadi Orang sudah menggunakan teknik ini hari ini, DALAM BESAR untuk memahami sistem yang kompleks dan membuatnya lebih baik. Itu sebabnya mereka menggunakan teknik debugging terbalik.