开发软件包的标准编码实践与指南 - 本主题涵盖有助于确保开发高质量包的标准编码实践和指导原则。

Automation 360

本主题涵盖有助于确保开发高质量包的标准编码实践和指导原则。

测试
确保高质量的代码。 为您的软件包写入充分的单元测试和集成测试。
图标
为您的软件包设置合适的图标。
手动设置版本
SDK 软件包构建版本会在每次构建时自动更新。 但是,您可以在常用 build.gradle 文件的命令项目中手动设置它,使用如下所示的最多四位数字并用句点分隔:

. . .
ext {
    version '2.0.8'
}
dependencies {...}
依赖项
将所有依赖项嵌入到软件包 JAR 中。 通过将依赖项提取至临时位置以在运行时加载。 请确保在依赖项加载后清理临时位置。
依赖 JAR 文件
在 build.gradle 文件的依赖项中以实施形式添加依赖 JAR 文件,以确保其被打包。
	
. . .
dependencies {
		compileOnly name: 'command-annotations'
		compileOnly name: 'bot-runtime'
		compileOnly name: 'bot-api'
		implementation name: 'i18n-api'
              implementation name: 'mydependentjavafile.jar'
		apt name: 'command-processor'
		compileOnly group: 'org.apache.logging.log4j', name: 'log4j-core', version: "$loggerVersion"
		testImplementation "org.testng:testng:$testNgVersion"
		testImplementation name: 'bot-runtime'
		testImplementation name: 'bot-api'
	}
. . . 
向现有包中添加新操作
向现有软件包添加新操作时,请确保在打包前进行清理。 建议始终执行清理构建”:gradlew.bat clean build shadowJar。
错误消息
提供有意义的错误消息。
  • 务必抛出有意义的错误消息。 例如,使用带有 BotCommandException 的国际化 (i18n) API 的本地语言,抛出一个新的异常 BotCommandException(MESSAGES.getString("Run.Exception.InvalidWorkingDirPath"))。
  • 切勿抛出一般性错误消息(如 ex.message)。
基本验证
使用验证注解规则(如包含在此开发工具包中的 @NotEmpty)。 无需为代码添加基础验证。 请参阅 验证注释。
循环
避免在代码中使用长时间运行的循环。 长时间运行循环会导致 CPU 占用过高,引发诸如“机器人无响应”的错误。
添加日志记录
使用机器人运行时框架中提供的默认 Log4J 记录器。 请勿添加您自己的记录器。 有关详细信息,请参阅示例代码。
日志记录级别
  • 错误/致命: 用户受到影响且没有解决方法的严重错误事件。
  • 警告: 发生意外错误,但系统已从该错误中恢复。
  • 信息: 有关状态更改的信息性消息,例如,已接受的请求。
  • 调试: 出错时调试所需的详细诊断信息。
  • 跟踪: 捕获有关应用程序行为的所有信息。

    如果您不确定日志级别,请将其设置为跟踪。

正在加载资源
应使用当前线程上下文类加载器加载所有资源,如下例所示:
Thread.currentThread().getContextClassLoader().getResourceAsStream("resource.json");