方法的度和幽灵方法

发发神经


在研究Solr源码发现它用到了Apache的commons io包,回想以前在各种场合见过这位“侠客”留下的痕迹,犹如挥之不去的魅影,决心花一天时间好好拜访一下commons io!!正当我撸起了袖子,信心满满,蓄势待发,果然单FileUtils就给了我一个闭门羹……


在研究源码时,类图、时序图能起到很好的辅助作用,而且借助Eclipse调试、链接功能,可以省下很多力气。但是面对粒度更细的方法层,我并没找到很好的解决方案。有时候单一个类中的方法,就有各种跳转调用,我们也被牵着鼻子在Eclipse中跳来跳去。以FileUtils类为例,它是一个工具方法集合共93个方法。里面含有大量的同名或者至少长得可以让你眼花的兄弟方法。下面举一些例子。

copyDirectory 4              
copyFile 3
iterateFiles 2
listFiles 2
write 6
writeLines 7
writeStringToFile 6


但其实,一归纳就会发现,很多重载方法归根结底就是一个方法,只不过为了调用的方便,或是省去某个参数代以默认值,或是加了一层包装。有时候需要忽略重载细节,抓住问题的本质,当你再一次看到某个重载方法时,你头脑就会反应“嗯,它其实最后调用的是这个方法”。所以我按照自己的想法,给出了一个阅读源码方法层的解决方案。


方法的度

①指1度方法,②指二度方法。度越小,这个方法越“本质”。而⓪度方法通常表示非装饰的内部方法。


+ listFiles(File, IOFileFilter, IOFileFilter) ①
+ listFiles(File, S

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值