C++编程规范之20:避免函数过长,避免嵌套过深

本文探讨了代码中过长的函数和过深的嵌套为何会导致难以理解和维护,并提供了六条建议来限制函数长度和嵌套深度,确保每个函数单一职责,避免重复代码,优先使用条件判断和标准算法,简化分支逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:

    短胜于长,平胜于优,过长的函数和嵌套过深的代码块的出现,经常是因为没能赋予一个函数以一个紧凑的职责所致,这两种情况通常都能够通过更好的重构予以解决。

    每个函数都应该顾其名而能知其义,易于理解的工作单元。如果于此相反,函数试图将多个这样的小概念合并到一个长的函数体中,那么它最终将不堪重负。

    过长的函数和嵌套过深的代码块都是使函数更难于理解和维护的密不可分的两大元凶。

我们在编写代码的时候要注意限制函数的长度和嵌套深度,合理的建议如下:

1.      尽量紧凑。一个函数只赋予一个职责。

2.      不要自我重复。优先使用命名函数,而不要让相似的代码片段重复出现。

3.      优先使用&&。在可以使用&&条件判断的地方要避免使用连续嵌套的if。

4.      不要过分使用try。优先使用析构函数进行自动清除而避免使用try代码块。

5.      优先使用标准算法。算法比循环嵌套要少,通常也更好。

6.      不要根据类型标签进行分支。也就是尽量不要使用switch…..case语句,而要优先使用多态函数。

    当然,如果一个函数的功能无法合理地重构为多个独立的子任务,那么它的较长和嵌套较多就是合理的。但是如果有几个这样的函数都具有相似的参数,那么它们就有可能成为一个新类的成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值