我用于调试的几乎所有语言工具都支持断点和步进模式,因此我可以一次查看范围内的特定数据。但是当我错过了程序中某些组件的神秘路径中的数据时,我仍然感到痛苦,尤其是当它在具有多个入口和出口的某些组件中蒸发时。
如果有一个工具可以“标记”一个数据并跟随它,以报告哪些功能(或其他基本计算单元)已经吞噬并转换了它,那么这种痛苦可能会被消除。这应该就像一些医学测试,给病人喂一颗辐射药丸,医生可以在外面追踪它。我知道回溯几乎是我需要的,但它仍然是一种在每一帧之间追踪基准的痛苦方式。
根据我(糟糕的)编程经验,最近的工具/语言是 Haskell 中的 Arrow 机制,它使用类型系统和组合来表示程序 IPO 路径的全貌。但它要求你的程序遵循它所倡导的方式,我不知道这是否是实现这个想法的最佳方式。尤其是你不能像其他语言那样轻松地编程,比如 C、C++、Ruby、Java 和 JavaScript。