APEX 最佳实践

时间:2021-02-07 08:11:53

标签: salesforce apex-code

我是 Salesforce apex 编码的新手。我正在开发的第一个类有 10 个方法,大约 800 行。

我没有添加太多异常处理,所以大小应该会进一步扩大。

我想知道 Apex 代码的最佳实践是什么...我应该用 1 个方法创建 10 个类,而不是让 1 个类有 10 个方法。

对此的任何帮助将不胜感激。

谢谢 阿吉

1 个答案:

答案 0 :(得分:0)

你用什么编码?尝试远离开发者控制台。 VSCode 有一些不错的插件,如 Prettier 或 Apex PMD,它们应该可以帮助您格式化和使方法变得过于复杂。大约 80 行/方法是马马虎虎。我会担心在函数中传递长长的参数列表和深度嵌套的代码,而不仅仅是它们的长度。

有一些一般准则(来自其他语言,Apex 没有什么特别之处!)理想情况下,函数应该适合 1 个屏幕,这样程序员无需滚动就可以看到整个画面。读一读,也许会引起你的共鸣:https://dzone.com/articles/rule-30-%E2%80%93-when-method-class-or

我不会仅仅为了它而将其拆分为单独的文件,除非您可以清楚地定义一些“separation of concerns”。假设每个对象有 1 个触发器,1 个触发器处理程序类(最好从基类派生)。大块位不在处理程序中,但可能在某些具有公共静态方法并且可以操作是否从触发器、visualforce、闪电网络组件调用的“服务”样式类中,也许某些一次性数据修复需要这些,也许将来您d 需要将它的一部分公开为 REST 服务。以及用于单元测试的单独文件(尽管听起来很亵渎神明 - 尽量不要写太多注释。在学习过程中,您需要注释来提醒自己内置方法的作用,但正确命名函数会很有帮助。与经常被忽视的注释相比,编写良好的单元测试更能展示代码背后的想法、示例用法和预期错误)。

异常处理是一门艺术。有时让它抛出异常是件好事。如果您有一个创建帐户、联系人和机会的方法,并说机会在验证规则上失败 - 会发生什么?只有你会知道什么是好的。异常意味着整个事情都会回滚(没有“寡妇”帐户),这很糟糕,但它可能是您的应用程序“更稳定”的状态。如果您在没有 Database.rollback() 的情况下天真地尝试捕获它 - 您将如何告诉用户不要通过第二次点击创建重复项。所以也许你不需要太多的错误处理 ;)