到底要不要拆分函数-阿里云开发者社区

开发者社区> 最美的回忆> 正文

到底要不要拆分函数

简介:
+关注继续查看

问题描述:
怎样的函数才算是有意义的函数?
比如这样的函数有没有意义?
(1)只被调用一次的函数
(2)只有一句实现内容的函数
(3)函数很多的参数
比如一个函数,有很多局部变量,如果要拆成多个函数,那么每个函数都要传递这些局部变量,会造成函数的参数很多。
在拆分函数这个问题上,我们要考虑我们在开发过程中,是以写为主?还是以读为主?
Uncle Bob刚好在这方便做过一些统计,他发现,即使是在开发过程中,大部分时间也是在读代码的。
那么更何况后期维护,即使是修改代码,也是要以读懂代码为基础的。
很显然,我们的开发是以读为主的,因此,便于阅读的代码就是有意义的代码。适当地牺牲“写的方便性”来实现“读的方便性”是有必要的。

就事论事:
(1)只被调用一次的函数是否有意义?
答:如果它有助于阅读,就是有意义的,比如init();
(2)只有一句实现内容的函数是否有意义?
答:如果它有助于阅读,就是有意义的,比如将多个判断条件合并
(3)有很参数的函数是否有意义?
答:如果“读得方便”的代价是“写得很不方便”,这并不意味着它不应该被拆分。而是说明这个函数本身设计不合理。它不只要被拆分,更要被重构。

http://blog.csdn.net/mishifangxiangdefeng/article/details/43500803
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/p/5200337.html如需转载请自行联系原作者

jiahuafu

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
1698
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载