构建可重复使用 packages
查看指南,了解如何建立 packages 的可重用性。
- 了解您的传入数据
- 在设置操作 package 需要用户填写的字段时,请详细说明设置属性类型以限制您 package 收到数据的类型。
- 限制输入,以减少收到包时必须完成的检查的负担。
- Javadoc 包括 34 个定义的属性类型,因此请在构建 package 时查看这些属性类型,以选择适当的字段类型。
- 设置 package,以便使用存储的值。例如,package 正在代表 bot 执行 API 调用,请验证 API 密钥或令牌的操作输入字段的 AttributeType 已设置为凭据。这样,鼓励用户使用存储在 Credential Vault 中的值来获得 package 所需的敏感输入数据。
- 妥善使用标签
- 在 CommandPkg 注释中,妥善使用不同的标签、node_label 和相应的描述。
- 使用这些标签作为行动的简短描述,仅使用几个词语来描述行动。
- 复制与默认操作 packages 中显示相同的命名样式。
- 每个操作都是 package 的子元素,并且操作标签与操作窗格中的 package 图标一起显示。使用简称来描述每个操作。
- 记录特定字段的预期输入格式。对 @Pkg 注释使用参数描述。这允许 package 开发人员查看特定输入字段必须使用的格式、要求或数据。例如:
@Pkg(label = "Start Date", description="Date Format as MM/DD/YYYY"
- 单元测试您的组件
- 在 package 开发期间,创建单元测试以验证 package 的每个组件和操作是否按预期工作。
- 验证单个测试单元、单个类或单个操作的行为,以确保其按预期运行。
- 在开发流程的早期阶段审查并记录任何特性或功能缺陷。
- 错误处理
- 在 bot 逻辑中包含错误处理,以确保所有错误都得到妥善处理。如果未处理错误,可能会阻止 bot 运行程序执行其他任务。
- 创建有意义的错误消息,以帮助 bot 使用者解决错误。
- 作为 package 开发人员,请记住以下建议:
- 使用 Try/Catch 块以容纳错误。
- 使用多捕捉块查找特定错误,并使用 BotCommandException 返回自定义错误消息。例如:
//create array of 3 items int[] myIntArray = new int[]{1, 0, 7}; try { //print 4th item in array System.out.println(myIntArray[3]); //Perform operation on first and second items in array int result = myIntArray[0] / myIntArray[1]; } catch (ArrayIndexOutOfBoundsException e) { //Throw custom message for IndexOutofBounds throw new BotCommandException("The array does have the number of expected items."); } catch (ArithmeticException e) { //Throw custom message on Atithmetic Exception throw new BotCommandException("Math Operation Error with " + Integer.toString(myIntArray[0]) + " and " + Integer.toString(myIntArray[1])); }
- 单一责任原则
- package 是一系列操作。在 package 中,每个操作都必须有单一的责任,并且该行动必须涵盖该责任。
- 遵循单一责任原则有助于您的 package 使用者轻松实施,简化测试,并避免不必要的修改。
- 您提供的操作使 package 使用者能够自定义他们在其 bots 内使用 package 的方式,并帮助他们的 bots 尽可能地高效。
- 提供示例
- 提交 packages 到 Bot Store 时,包括演示 bot,演示如何使用 package。
- 使用 Automation 360 操作并允许 package 使用者使用这些操作来履行他们的 bot 功能。
- 务必提供示例 bots 和描述,以帮助 package 使用者了解正确使用所需的知识。