编程语言
首页 > 编程语言> > apex class 与 trigger在命名上有什么要求?

apex class 与 trigger在命名上有什么要求?

作者:互联网

在 Salesforce 中,Apex 类和触发器的命名有一些特定的要求和最佳实践。遵循这些规则不仅可以确保代码的可读性和可维护性,还能避免潜在的冲突和问题。

Apex 类命名要求

  1. 唯一性

    • 类名必须在整个组织中是唯一的。两个类不能有相同的名称,即使它们位于不同的命名空间中(对于非全局类)。
  2. 大小写敏感

    • 类名是区分大小写的。例如,MyClass 和 myclass 是两个不同的类名。
  3. 字符限制

    • 类名只能包含字母、数字和下划线(_),但不能以数字开头。
    • 类名不能包含空格或其他特殊字符。
  4. 长度限制

    • 类名的最大长度为 255 个字符,但建议保持简短且有意义。
  5. 命名约定

    • 使用驼峰命名法(Camel Case),即每个单词首字母大写,不使用下划线。例如:AccountServiceContactHandler
    • 对于常量或静态变量,可以使用全大写字母并用下划线分隔单词。例如:MAX_RECORDS
  6. 描述性

    • 类名应清晰地描述其功能或用途。例如:AccountTriggerHandlerOpportunityService
  7. 避免保留字

    • 类名不能与 Salesforce 的保留字相同。例如,不能使用 ObjectString 等作为类名。

触发器命名要求

  1. 唯一性

    • 触发器名必须在对象级别上是唯一的。同一对象上不能有两个同名的触发器。
  2. 大小写敏感

    • 触发器名是区分大小写的。例如,AccountTrigger 和 accounttrigger 是两个不同的触发器名。
  3. 字符限制

    • 触发器名只能包含字母、数字和下划线(_),但不能以数字开头。
    • 触发器名不能包含空格或其他特殊字符。
  4. 长度限制

    • 触发器名的最大长度为 255 个字符,但建议保持简短且有意义。
  5. 命名约定

    • 使用驼峰命名法(Camel Case),即每个单词首字母大写,不使用下划线。例如:AccountTriggerContactTrigger
    • 建议在触发器名中包含触发事件类型,以便更容易识别其行为。例如:AccountBeforeInsertTriggerContactAfterUpdateTrigger
  6. 描述性

    • 触发器名应清晰地描述其关联的对象和操作。例如:AccountTrigger 表示与 Account 对象相关的触发器。
  7. 避免保留字

    • 触发器名不能与 Salesforce 的保留字相同。例如,不能使用 ObjectString 等作为触发器名。

最佳实践

  1. 统一命名规范

    • 在整个项目中使用一致的命名规范,有助于提高代码的可读性和可维护性。例如,所有处理逻辑都放在以 Handler 结尾的类中,如 AccountTriggerHandler
  2. 模块化设计

    • 将复杂的业务逻辑移到单独的类中,使触发器保持简洁。例如,触发器只负责调用处理器类中的方法,而不直接实现复杂逻辑。
  3. 文档化

    • 在类和触发器中添加注释,解释其功能和用途。这不仅有助于其他开发人员理解代码,也有助于未来的维护。

示例

Apex 类命名示例

public class AccountService {
    // 方法和属性...
}

public class ContactHandler {
    // 方法和属性...
}

public class OpportunityProcessor {
    // 方法和属性...
}

Apex

触发器命名示例

trigger AccountBeforeInsertTrigger on Account (before insert) {
    AccountTriggerHandler.handleBeforeInsert(Trigger.new);
}

trigger ContactAfterUpdateTrigger on Contact (after update) {
    ContactTriggerHandler.handleAfterUpdate(Trigger.new, Trigger.oldMap);
}

标签:
来源: