33 | 理论五:让你最快速地改善代码质量的20条编程规范(下)
该思维导图由 AI 生成,仅供参考
1. 把代码分割成更小的单元块
- 深入了解
- 翻译
- 解释
- 总结
本文总结了20条编程规范,旨在帮助程序员快速改善代码质量。其中包括将代码分割成更小的单元块,避免函数参数过多,勿用函数参数来控制逻辑,以及函数设计要职责单一等实用的编程技巧。作者强调了模块化和抽象思维的重要性,提倡将复杂逻辑提炼成类或者函数,以提高代码的可读性。此外,文章还提到了处理函数参数过多的方法,包括拆分成多个函数或将参数封装成对象。同时,作者也警示不要在函数中使用布尔类型的标识参数来控制内部逻辑,而是建议将其拆分成多个函数,以提高可读性和代码质量。最后,文章强调了函数设计要职责单一的重要性,通过示例代码展示了如何将一个函数拆分成多个职责单一的函数。这些编程规范和技巧能够帮助程序员在实践中提高代码的可读性和质量,是非常实用的编程指南。文章还提到了移除过深的嵌套层次和学会使用解释性变量等编码技巧,以及统一编码规范的重要性。通过这些技巧和规范,读者可以明显改善代码的可读性,提高代码质量。
《设计模式之美》,新⼈⾸单¥98
全部留言(90)
- 最新
- 精选
- 🐾老师晚上好、关于代码规范这块,是不是有好的Java开发脚手架推荐呢?我发现公司的代码没有统一的脚手架,各小组重复造轮子,想规范化这块,但又不知道有哪些通用的脚手架。
作者回复: 可以看下这篇文章: https://mp.weixin.qq.com/s/0eOm3dBOlFUy8Si1_k7OAw 代码中的很多低级质量问题不需要人工去审查,java开发有很多现成的工具可以使用,比如:checkstyle,findbugs, pmd, jacaco, sonar等。 Checkstyle,findbugs,pmd是静态代码分析工具,通过分析源代码或者字节码,找出代码的缺陷,比如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。三者都可以集成到gradle等构建工具中。 Jacoco是一种单元测试覆盖率统计工具,也可以集成到gradle等构建工具中,可以生成漂亮的测试覆盖率统计报表,同时Eclipse提供了插件可以EclEmma可以直观的在IDE中查看单元测试的覆盖情况。 Sonar Sonar 是一个用于代码质量管理的平台。可以在一个统一的平台上显示管理静态分析,单元测试覆盖率等质量报告。
2020-01-171165 - 黄林晴老师好 现在我是开始二刷 意识到一个问题就是识不要用标记位来控制代码的执行逻辑 但拆分多个函数不也要先判断标记位再执行对应的方法吗
作者回复: 你说的没错,关键看这个标记位的判断是放到上层逻辑还是下层逻辑,理论上讲,这种“ugly”的代码尽量放到上层。
2020-06-195 - 淤白Tap键、CodeReview没有做到,别的都在无意识之间做到了,打个卡。。。
作者回复: 加油
2020-11-251 - 小情绪王争老师,我瞅了一眼Android的java层源代码,类里面的import包没有按字母从小到大,作用域也没有按大小依次排列,是不是Google并不是严格执行这套标准,还是别的原因?
作者回复: Android是收购的吧������
2020-08-2821 - feifei这个if else拆的函数太多了,类就大了,类大了,同样阅读性很差,找一个方法,翻来翻去的,所以我觉得只要方法不是太长,就不必要拆开多个小的方法,老师觉得呢
作者回复: 你说的没错!拆太细、太小的函数,也没意思,读代码的时候跳来跳去,容易打断思路
2020-05-201 - Michaelpublic void getUser 这个返回值和函数命名好像不是很搭哦
作者回复: 是的,我改下,多谢指出
2020-01-181 - 记事本为什么不能用tab缩进?
作者回复: 文章中有解释
2020-08-13 - 编程界的小学生// 拆分成三个函数 public boolean checkUserIfExistingByTelephone(String telephone); public boolean checkUserIfExistingByUsername(String username); public boolean checkUserIfExistingByEmail(String email); 这种的,不也得判断是不是空吗?不是空的话调用。 是不是可以把判断 放到每个小方法里面,是空就false
作者回复: 没太看懂你说的😂
2020-01-172 - 再见孙悟空不要在函数中使用布尔类型的标识参数来控制内部逻辑,true 的时候走这块逻辑,false 的时候走另一块逻辑。这明显违背了单一职责原则和接口隔离原则。我建议将其拆成两个函数,可读性上也要更好。这个深有感触2020-01-171094
- 黄林晴打卡 明天最后一天上班 就放假了2020-01-172339