编程规范:长函数的思考
2023-12-25 06:46:43
????????在工作,我们应该都不想看到非常的长函数。对于一个运行5年左右的项目,极有可能出现这种情况。由于长函数的长、if/else嵌套,导致代码的可读性非常差,这对于项目的维护和开发带来了极大的困难。所以我们应该避免写长函数,并且有改造方法。
1.长函数的定义
????????针对一个函数,多长才算是长函数呢?这个每个人都有不同的定义。我认为,不能仅仅从代码的多少去判断,应该从另一个角度(是否分类处理数据)来思考这个事情。如果是平铺直叙,一点点地加代码,这必会成为长函数。有人说超过20行就算是长函数,有人的标准更高。我认为一屏能够看下,基本都是可以接受的。
2.如何写程序,才能避免或改造长函数?
1)分类处理数据
public void TestLongMethod(Map<String,String> map){
// 1.校验数据
checkData(map);
// 2.处理数据
handleData(map);
// 3.发送mq消息
sendMq(map);
}
2)继承或策略模式处理数据
????????在分类处理数据时,如果出现多种情况,每种情况都有这样一套分类处理的流程,此时可以考虑继承或者策略模式处理数据。
? ? ? ? 例如:一个活动,分为很多类型。每种类型的数据都是这样一套数据。
3)避免多重嵌套,应该规定最多2级
????????如下代码,一个方法内出现过多的if语句,应该根据具体业务,避免过多的if嵌套。
4)避免方法过长,有意识地去优化代码
如下代码,一个方法过长,应该分类处理数据,可以参考步骤1。(生产代码,所以做了处理)
3.自律
? ? ? ? 一个追求优秀的程序员对自己的代码风格应该有严格的自律,一定不会写出长函数。
文章来源:https://blog.csdn.net/qq_37375667/article/details/135171652
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!