动态语言,比如 ruby. 阅读源代码总是挺虐心的,因为你不能轻易知道方法/函数的返回值和参数分别是什么数据类型的! 有时候甚至看遍整个方法的代码去猜测参数是什么类型的,返回值又是什么类型的。 所以有时候可能就多此一举地在定义方法时描述一下:
# params: A: string, B: float
# return: instance of ClassX
def wtf(A, B)
...
end
# 该传 interger 的 id 呢还是 string 的 id ?
def process(id)
...
end
可不是每个人都那么有闲功夫的。还是这就是个无奈之举,你们平时是怎么解决的?
虽然这个问题对于 ruby 这种纯 OO 比其它不纯 OO 的语言要轻松些。
分享一个链接: http://blog.codeclimate.com/blog/2014/05/06/gradual-type-checking-for-ruby/
补充:有人出现成方案了:https://github.com/gogotanaka/Rubype