この「リバース」または「ヒストリカル」デバッグをさらに拡張することが重要だと思います。複雑なシステムとそれらの動作を理解し、状態を明示する「イベント」を再生することが絶対に重要だと思います。
私が言いたいのは、なぜこのテクニックが今日あまり適用されていないのか、関連する問題がめったに議論されないのか、あなただけが疑問に思っているということです。
ここで、2つの非常に重要な概念を強調しましょう。
1.プログラミングシステムを理解するには、状態を明示的にすると便利です。
2.状態(イベント)のシーケンスを再生するプログラミングシステムをさらに理解するには、非常に役立ちます。
問題に取り組み、問題の解決策を提案または設計したいくつかのソースを以下に示します(複雑なシステムの状態を扱う)。
-tarビットのうち、紙:http ://shaffner.us/cs/papers/tarpit.pdf
主なアイデア:状態を回避、分離、または明示する
-CQRS
http://www.cqrs.nu/
これは、コマンドクエリ分離とイベントソーシングという2つの概念の組み合わせです。さまざまな実装(Java、C#、Scala)が存在します。Tateシーケンスの再生とドメインモデルの進化は、ここで重要な部分です。
あなたがいる場合、実際にズームアウトして、関数型プログラミングの人々の「上昇」と(意識的に(UN))すでにあることをすでに見ることができる非常に広範な絵を見ることが状態が明示的になるため、FPに魅了!しかし、それはポイント1のみを扱います。2番目のものに対処するには、関数型リアクティブプログラミングと「大まかに」説明できる別の概念が必要です。
だから、あなたはすべてをうまく言っているかもしれませんが、実際にCQRSとFRPを使用しているのは誰ですか?私は言う(具体的な数字がないのでIMO)実際、多くの企業は、彼らが行う仕事がこの用語を持っていることを知らないというだけです。たぶんあなたは少しグーグルで、CQRSを使用している企業から聞いたことがありますが、すでにいくつかの成功事例があります。Netflixの例として、FRPもゆっくりと上昇しています。http://techblog.netflix.com/2013/02/rxjava-netflix-api.html
実際に.NETベースのRXの実装をリリースしました(ただし、 Javascriptの実装も)。そのため、人々は複雑なシステムを理解し、それらをさらに良くするために、今日これらの技術をすでに大規模に使用しています。そのため、リバースデバッグ手法を使用しています。