有几个框架示例尝试将Java类名解缠绕为Clojure符号(包括命名空间);这在报告异常时输出改进的、针对Clojure的特定堆栈跟踪非常有用。
现有的库依赖于正则表达式匹配和猜测,有时会给出错误的结果,例如,当命名空间或函数名实际上包含下划线时。
对于此类框架的作者来说,如果Clojure在类上公开一个带有应出现在堆栈跟踪中的正确名称的静态最终字段将很有帮助;库然后可以利用反射来访问字段的正确名称,而无需当前的猜测。
我建议将CLOJURE_SOURCE_NAME作为此类字段的合理名称。
其他Clojure类构造,如具体化的类型和协议实现,也会从中受益,尽管明确识别该类所扮演的具体字符串值可能不那么明显。