我经常发现自己在针对反射警告进行注释时,类型是完全不言而喻的
(def ^String foo "bar") ;; adding ^String fixes reflection warnings elsewhere
"bar"
是一个String,在编译时已经鲜明可知,所以在我看来,我正在进行一些琐碎的工作,也可能会创建一些后来可能过时的东西。
是否考虑过为这种简单直接的情况添加“类型推断”?
(“类型推断”可能是对这个用例夸张的术语)
...我能想到至少一个反对意见:(def ^CharSequence foo "bar")
也可能是准确且有用的。但一个好的默认做法是将类型推断为x的类(在这里:CharSequence,Object)- 如果用户想要将x注释为其祖先之一(在这里:CharSequence,Object),则可以手动覆盖推断的默认值。