有些框架试图将Java类名解耦为一个Clojure符号(包括命名空间),这在报告异常时输出改进的、特定于Clojure的堆栈跟踪时很有用。
现有的库基于正则表达式匹配和猜测,有时会给出错误的结果,例如,当命名空间或函数名实际上包含下划线时。
如果Clojure在此类上公开一个静态final字段,以便在堆栈跟踪中显示正确的名称,这将有助于这些框架的作者;库然后可以使用反射来访问字段的正确名称,而无需当前的猜测。
我建议将CLOJURE_SOURCE_NAME作为此类字段的合理名称。
除了函数之外的其他Clojure类构造,如具现类型和协议实现,也将从中受益,尽管不太清楚哪个精确的字符串值可以正确且明确地标识类的作用。