zoukankan      html  css  js  c++  java
  • C++编程规范之20:避免函数过长,避免嵌套过深

    摘要:

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    python day01学习
    标准化体系建设(下):如何建立基础架构标准化及服务化体系?
    用EL表达式与Java代码的共享数据
    String和StringBuilder的相互转化
    博客园的一个bug_修改文章标签
    int const *p和int *const的区别
    C++ assert()的用法
    java中,为什么char类型数组可以直接用数组名打印,而int型数组打印结果是地址值!
    传说中的栈溢出
    Trello
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3468932.html
Copyright © 2011-2022 走看看