本文首发于微信公众号:大迁世界, 我的微信:qq449245884,我会第一时间和你分享前端行业趋势,学习途径等等。
更多开源作品请看 GitHub https://github.com/qq449245884/xiaozhi ,包含一线大厂面试完整考点、资料以及我的系列文章。
快来免费体验ChatGpt plus版本的,我们出的钱
体验地址:https://chat.waixingyun.cn
可以加入网站底部技术群,一起找bug.
本文主要介绍了代码审查清单。代码审查是软件开发中的关键环节,它有助于保证代码质量,提高团队协作效率。文章强调了代码审查的重要性,并提供了详细的代码审查清单,以帮助开发人员在项目开发过程中遵循最佳实践。
文章将代码审查清单分为以下几个部分:一般原则、设计、功能、复杂性、测试和其他。每个部分都提供了具体的检查点和注意事项。一般原则包括代码风格、可读性、可维护性等方面;设计方面关注架构、模块化、可扩展性等;功能部分涵盖需求实现、错误处理、性能优化等;复杂性部分主要关注代码的逻辑复杂度,提倡简洁易懂的编程;测试部分强调自动化测试的重要性,要求开发人员确保代码覆盖率;其他方面包括注释、文档等辅助性内容。
作者还提醒开发人员在进行代码审查时,要有耐心,保持开放的心态,以提高代码质量为目标,避免个人观点和喜好干扰。总之,这篇文章为软件开发团队提供了实用的代码审查清单,帮助开发人员在项目开发过程中遵循最佳实践,确保代码质量和团队协作效率。
下面是正文~
拥有一个清单是开发团队的重要组成部分。它将帮助我们简化代码审查并帮助我们专注于我们的优先事项。
这些是我在审查新代码或拉取请求时考虑的事项。
1.可读性
代码的可读性在行业中被高度低估。大多数人推崇代码文档和内联注释,这确实是好的。但是可读性强的代码对于维护可靠和可扩展的代码库来说更好。
这些是我在检查代码可读性时考虑的关键因素。
代码缩进
尽管错误的代码缩进不会影响程序的功能,但它确实会影响阅读和维护代码的人。即使对于专家来说,如果没有适当地缩进,也很难识别函数、循环和条件的边界。
适当的缩进是我们可以做的第一件事,以确保我们的代码对相关方可读且清晰。
命名约定
我们命名函数和变量的方式具有深远的影响。我们为函数、变量和类选择的名称应该是自说明的。在某些情况下,自说明的名称会太长,在这种情况下,我们可以使用缩写。
为了获取用户列表,我们可以命名函数为 getUsers()
或 getUserList()
,这比随机命名如 getData
或一些无意义的名称要好得多。同样,上述函数的响应可以分配给可读变量,如 userList
或 users
,这比流行的 "newArray"
要好得多。
有很多可用的缩进风格,其中著名的有K&R风格、OTBS、1TBS、Stroustrup和Allman风格。
代码注释
有一句流行的说法:
“代码是给编译器的,而注释是给程序员的。”我们不能总是让我们的代码库自我解释。当代码无法自我解释时,注释就会出现。我个人只喜欢在代码不够自我解释时编写代码注释。
2.性能
看到代码时,总是要寻找更简单的解决方案,即使在代码库中少一次迭代,当你看到更大的画面时,代码的表现也会更好。基本上,我们需要检查代码是否运行时间过长,是否有任何更简单的解决方案值得实施。
在绩效领域中,应考虑的关键因素:
- 性能要求,是否有性能SLA作为要求的一部分
-
查看外部调用,服务外的调用成本高昂
- 数据库调用
- 不必要的网络调用
- 寻找可能的内存泄漏
- 确保代码在不需要时关闭连接和流
- 检查可能的竞态条件
3.可重用性
代码重用是使用现有代码来实现新功能和功能的方法。DRY原则,“不要重复自己”有助于减少代码重复。该原则很简单,如果需要执行某个操作超过一次,请将该代码移动到函数中并重用它。这种代码抽象有助于函数使代码可重用和可扩展。这也有助于调试,因为我们不必在两个地方修复错误。
4. 可维护性
遵循最佳实践是保持高可维护性的关键。代码库应该松散耦合且高度内聚。这两个术语看起来可能相互矛盾,但它们共同作用可以创建高度可维护和可扩展的应用程序。
代码应该以这样的方式实现,即无关的单元之间松散耦合,相关单元之间应该具有高内聚性。如果我们不遵循这个最佳实践,我们将朝着高耦合和低内聚的方向前进,这将导致过多的依赖性和增加的漏洞风险,因为一个单元中的错误将影响所有依赖的单元。遵循SOLID原则将有助于实现这个良好的实践。
SOLID 原则实际上是5个设计原则的结合:
- 单一职责原则
- 开闭原则
- 里氏替换原则
- 接口隔离原则
- 依赖倒置原则
5. 单元测试
审查测试覆盖率并找出那些需要解决的边缘情况可能会很棘手且耗时,但这是值得的。我不想解释单元测试如何有助于维护代码质量。这些好处众所周知,但人们仍然往往忽视它。
遵循TDD是使单元测试成为必须的好方法。
原文:https://vinuvasudev.medium.com/code-review-checklist-bab2bd65…
代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
交流
有梦想,有干货,微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。
本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net