提升开发质量!Salesforce开发人员如何进行高效的代码Review?

发布时间 2023-07-20 16:13:25作者: salesforce自由侠部落

代码审查是软件开发流程的重要组成部分。顾名思义,代码审查需要一位或多位开发人员审查另一位开发人员编写的代码,以确保:

  • 代码没有任何错误,没有bug,也没有问题;
  • 代码符合质量与样式指南的要求和标准;
  • 代码完成了所有预期功能;
  • 合并代码后,代码库仍然能够正常运行,且达到更好的状态。

这就是为什么代码审查是软件开发的重要环节。代码审查者担当着把关者的职责,负责决定这些代码是否能够成为代码库的一部分并进入生产环境。

代码审查的主要目标是在开发早期检测和修复错误来提高软件质量。此外,代码审查还可以帮助团队成员交流技能和经验,从而提高工作效率。

代码质量

01

可读性

开发过程大部分时间需要阅读代码,所以编写出来的代码要易读。如何使代码具有可读性是一个热门话题,有大量资源可供探索。

类、方法和变量进行格式化赋予适当的名称,避免复杂的结构和无休止的嵌套操作也是有效措施。

02

清晰度

可读性和清晰度有什么区别?能读懂代码并不意味着你能理解它。

代码清晰度最常见的问题是混合抽象;低级操作(循环集合、条件、赋值等)用于高级类方法(例如,在控制器中)。

03

可靠性

代码应该是可靠的,这包括错误处理、限制检查、操作超时、日志记录、故障后自我恢复和事务控制

04

可重用性和可扩展性

代码并不是一成不变的,并且经常被覆盖和扩展。未来更改代码的可能性非常高,应该在开发过程中应用。

不要害怕在类和方法上分解代码,不要忘记使用OOP。如果不这样做,以后可能风险更大,难度也更大。 

05

可测试性

由于平台限制,代码可能会超出控制范围,但通常情况下,代码完全取决于我们选择的设计。建议尽可能以任何形式使用TDD。

06

可维护性

没有理想的系统。无论如何测试应用程序,意外都很难避免。我们能做的就是尽量减少意外发生,正确记录代码,并在崩溃后使用方法稳定系统。

07

安全

项目代码应始终符合安全标准并免受攻击。我们所知道的最佳Salesforce实践可以涵盖其中大部分内容。

此外,跟踪第三方库的版本并使用自动检查工具。如果你需要构建第三方系统集成,请考虑安全连接。Salesforce有很多工具可以实现其安全性(身份验证提供程序、连接的应用程序、命名凭据等)。

 

代码审查流程

代码审查应该分为几个部分并按顺序进行,以下几点将有助于代码审查结构化。

在开始审查之前,了解代码涵盖的业务目标非常重要。通常,完美编写的代码并不能完全满足要求,你必须确切地知道代码应该做什么。 

01

检查现有的解决方案

Salesforce现有的解决方案可以降低风险并节省大量时间。

  • 了解Salesforce平台开箱即用的解决方案。
  • 检查AppExchange上是否有现成的软件包可用。
  • 客户成功是主要目标。解决方案的目标是为客户节省成本和时间,因此需要与利益相关者进行讨论。
  • 你可以在GitHub中找到开源解决方案,GitHub上的解决方案也需要审查。

02

设计与架构

注意新组件的结构及其依赖关系。在此阶段重点关注代码质量,如清晰度、可重用性、可扩展性和可测试性。对于带有托管包的项目,这一点非常重要,因为在发布之后很难从托管包中删除新的类。遵循SOLID原则和使用模式。

03

执行

这个阶段是代码审查中最严谨的部分。不要忘记提高你对新Salesforce功能和JavaScript更新的了解,这将有助于简化解决方案。

04

审查代码

代码审查的一个重要部分是Comments,它们的质量和数量影响着代码审查和开发的速度。

对于审稿人

  • Comments必须有意义。与代码一样,注释应该简单明了。
  • 如果你怀疑自己的决定,请以问题的形式写下Comments。
  • 不要留下相同类型的Comments,这将有助于了解提交者的响应速度。如果问题仍然存在,则需要面对面沟通指出错误。

对于提交者

  • 难以阅读的文件应添加注释,可附上截图(元数据、流程等)。
  • 解释不明显的逻辑或操作。

代码分析工具

使用Pull Request Validation可以简化很多事情。Pull Request Validation的良好实践是代码覆盖率验证。我建议坚持90%左右的代码覆盖率,尽管Salesforce的要求是至少有75%。 

Salesforce Graph Engine加入了代码分析器后端的最新引擎。它在Apex上执行DFA,并识别比常规静态分析引擎复杂得多的问题。即使它存在一些稳定性问题,预计将成为Salesforce开发人员的主要工具。

作者:自由侠部落

博客地址:https://home.cnblogs.com/u/CDP1/

本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 

如果文章的内容对你有帮助,欢迎点赞~

?Salesforce免费学习资料、高薪岗位、考证攻略,40?考试优惠券等更多福利尽在微信公众号:自由侠部落,欢迎各位关注。