首页 > 其他分享 >《代码大全2》阅读笔记05

《代码大全2》阅读笔记05

时间:2023-04-30 09:15:09浏览次数:35  
标签:函数 可读性 05 代码 可维护性 笔记 复杂度 大全

第八章

在我过去的编程经验中,我经常写出复杂且难以维护的函数。我经常尝试在一个函数中实现太多的功能,导致函数代码的复杂度极高,可读性和可维护性都很差。

通过阅读这一章,我认识到函数的设计和实现对代码的质量和可维护性至关重要。作者提到,高质量的函数应该具有以下特征:简单、短小、只做一件事情、参数尽量少、输入和输出清晰、异常处理良好等。这些特征都有助于提高函数的可读性和可维护性,并且有助于减少代码中的bug。

结合书中所讲,我认为过于复杂和臃肿的函数会给代码的维护和修改带来很大的难度,也会影响代码的可读性和可维护性。这是因为一个函数中实现太多的功能,导致代码的逻辑复杂度和嵌套层数变得很高,难以理解和修改。此外,由于功能过多,很难保证函数的输入和输出都非常清晰,导致出现错误的概率更高。

因此,我的解决办法是:在编写函数时,要尽量遵循书中提到的高质量函数的特征。将一个大函数拆分成多个小函数,每个函数只实现一个功能,同时保证函数名和参数的名称尽量清晰明了,有助于提高代码的可读性和可维护性。此外,我还可以尝试使用一些调试工具和技术来帮助我识别和解决复杂函数的问题,以确保函数的正确性和质量。

标签:函数,可读性,05,代码,可维护性,笔记,复杂度,大全
From: https://www.cnblogs.com/lhk20213937/p/17364883.html

相关文章

  • 「学习笔记」tarjan求最近公共祖先
    Tarjan算法是一种离线算法,需要使用并查集记录某个结点的祖先结点。并没有传说中的那么快。过程将询问都记录下来,将它们建成正向边和反向边。在dfs的过程中,给走过的节点打上标记,同时维护并查集,这里利用了回溯的思想,如果\(u\)节点的这棵子树没搜完,那么fa[u]=u;,搜完后......
  • Docker实战笔记4-安装jenkins
    文章目录拉取jenkins镜像排查问题验证结果总结拉取jenkins镜像在官方镜像仓库查询jenkins镜像https://hub.docker.com/r/jenkins/jenkins拉取镜像dockerpulljenkins/jenkins结果如下:zhao@sh-zhao~%dockerpulljenkins/jenkins:latestlatest:Pullingfromjenkins/j......
  • 构建之法阅读笔记1
      第一阶段读了构建之法的1-6章,感觉自己收获比较大、印象深刻的有如下几处:    第一个是初级软件工程师如何去成长的问题。1.要积累软件开发相关知识,提升技术技能。    技术有很多种,你不需要做到全会,但至少你要对其中一种做到熟练掌握,每一个都懂一点,每一个又都......
  • 《代码大全2》阅读笔记05
    在阅读这十一章之前,我曾经遇到过一个问题。在编写代码时,我往往会尝试使用最新的技术和最酷的功能,而忽略了代码的可读性和可维护性。我觉得,只要我的代码能够正常工作,就没有什么问题。然而,在阅读这一章之后,我意识到这种想法是错误的。书中介绍了许多关于代码可读性和可维护性的最佳......
  • Vim学习笔记
     在Linux终端命令行输入gvim&打开GVIMVim打开文件终端输入:gvim***或gvim***&使用Vim独立打开文件vim***在终端显示文件&:表示当前的这个进程打开,但是它还不影响你接下来在terminal上面敲一些其他的一些命令Vim实现比较文件代码终端输入:gvimdifffileafileb或者......
  • C语言函数大全-- s 开头的函数(3)
    C语言函数大全本篇介绍C语言函数大全--s开头的函数(3)1.sleep1.1函数说明函数声明函数功能unsignedintsleep(unsignedintseconds);它是C语言标准库中的函数,用于使当前进程挂起一定的时间。在挂起期间,操作系统会将该进程从调度队列中移除,直到指定的时间过去为......
  • DVT_eclipse学习笔记1
    常用方法1.自动补全快捷方式:alt+/(可以多次按这个“/”选择补全的东西)自动补全有时候会包含许多提案,分为几类:第一个是你可以在范围内访问的内容(信号、变量、方法等,取决于所包含的范围)alt+/第二个用于代码模板alt+/+/第三个是其他的东西,例如模块实例alt+/+/+/2.快速修......
  • 中国剩余定理(CRT)学习笔记
    约定\(A\perpB\)表示\(\gcd(A,B)=1\)。\(A\midB\)表示\(B\equiv0\pmod{A}(A\neq0)\)。引入考虑以下这道题:有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。問物幾何?——《孫子算經》也就是说,求出下列关于\(x\)方程组的最小整数解:\[\begin{cases}x\equi......
  • SpringCloud学习笔记
    Eureka基本知识Eureka主要学习的是微服务的一些基本概念之类的,至于具体的操作其实都是在配置appolication.yml文件了,多看文档以及自己写过的demo就懂了。Eureka在微服务中承担的角色有三个,一个是注册中心server,一个是服务供给方porvider,以及接受用户请求的consumer,如果从启动类......
  • 构建之法阅读笔记02
    《构建之法》是一本关于软件架构设计的经典著作,作者是美国软件工程师、架构师和教育家Christopher Alexander。这本书提出了一种全新的软件架构设计方法——模式语言法,通过模式语言法,可以帮助软件架构师和设计师更好地理解软件系统的结构和设计,提高软件的可维护性和可扩展性。本......