原生镜像代码风格

为了确保代码质量并使所有贡献者遵循相同的标准,我们建立了一套规则,这些规则随着时间的推移而不断完善,并证明其有用性。请注意,这些规则是可以讨论的!

源代码格式 #

使用 mx ideinit 生成的 IDE 项目配置了严格的格式化规则。在 Eclipse 中,保存文件时,会根据这些规则自动格式化。配置包含特殊的注释,可用于放宽代码特定区域的检查。

可以使用特殊注释禁用源代码格式化

//@formatter:off

//@formatter:on

可以像这样禁用注释重格式化

/*-
 *
 */

使用 Checkstyle 进行检查 #

Checkstyle 用于验证是否符合样式规则。可以使用 mx checkstyle 手动运行它。

默认的 Checkstyle 规则定义在 src/com.oracle.svm.core/.checkstyle_checks.xml 中,并定义了各种特殊注释,包括

//Checkstyle: stop method name check

//Checkstyle: resume method name check

以及类似命令用于可以禁用的其他检查(包括一般的 stopresume 命令)。当然,确保合理使用这些注释是代码审查的事项。

如果项目需要不同的 Checkstyle 规则集,则可以通过更改项目 checkstyle 属性的值(默认情况下引用 com.oracle.svm.core)在 mx.substratevm/suite.py 中指定。可以使用文件 src/<project name>/.checkstyle.exclude 在目录粒度上将特定代码文件从 checkstyle 中排除。此类排除文件必须包含每行一个目录,路径相对于项目根目录。该文件必须使用 git add 显式添加,因为 git 会默认忽略它。

拉取添加或删除 Checkstyle XML 文件的更改集时,IDE 可能显示不合适的样式警告或错误。通过运行 mx ideinit 和清理受影响的项目来解决此问题。

IDE 集成 #

IDE 插件有助于遵守样式规则。以下是一些示例

有关进一步建议,请参阅 IDE 集成文档

联系我们