3.8 KiB
Nacos
Code Style
Nacos code style Comply with Alibaba Java Coding Guidelines and code style file customized by Nacos community.
Nacos的编码规范遵从于《阿里巴巴JAVA开发规约》和社区制定的Nacos代码风格文件。
Guidelines
Alibaba-Java-Coding-Guidelines
Nacos Code Style File
Idea IDE
Nacos Code Style file is style/nacos-code-style-for-idea.xml in source code. Developers can import it to Idea IDE and reformat code by IDE.
Nacos代码风格文件在源代码下的style/nacos-code-style-for-idea.xml文件中,开发者可以将其导入到Idea IDE中,并让IDE帮助您格式化代码。
Import Way/导入方式
Preferences/Settings --> Editor --> Code Style --> Schema --> Import Schema --> IntelliJ IDEA code style XML
eclipse IDE
Volunteer wanted.
待补充。
IDE Plugin Install(not necessary)
It is not necessary to install, if you want to find a problem when you are coding.
不是必须安装,如果你需要在开发的时候实时发现问题的话,你需要安装。
idea IDE
checkstyle
Preferences/Settings --> Other Settings --> CheckstyleORPreferences/Settings --> Tools --> Checkstyle- Set checkstyle version at least 11.0.0 (required for Java 17 support) and scan scope
All resource(including tests)in checkstyle plugin. - Import
style/NacosCheckStyle.xmlto checkstyle plugin. - Scan and check your modified code by plugin.
Preferences/Settings --> Other Settings --> Checkstyle或者Preferences/Settings --> Tools --> Checkstyle- 在checkstyle插件中设置checkstyle版本至少为11.0.0(Java 17支持所需),并将扫描作用域设置为
All resource(including tests) - 导入源代码下
style/NacosCheckStyle.xml文件到checkstyle插件。 - 用checkstyle插件扫描你修改的代码。
SpotBugs
Preferences/Settings --> Pluginssearch "SpotBugs" and install.- Run SpotBugs analysis on your modified code to catch potential bugs before submitting.
Preferences/Settings --> Plugins搜索 "SpotBugs" 并安装。- 在提交前对修改的代码运行 SpotBugs 分析,以提前发现潜在 bug。
eclipse IDE
checkstyle
Volunteer wanted.
待补充。
Automated Code Formatting (Spotless)
Nacos uses Spotless Maven Plugin with Eclipse JDT Formatter for automated Java code formatting. The formatter configuration is at nacos-eclipse-formatter.xml.
Usage
# Auto-format all Java files
mvn spotless:apply
# Check formatting (same as CI, does not modify files)
mvn spotless:check
Key Formatting Rules
| Rule | Value |
|---|---|
| Indent | 4 spaces |
| Continuation indent | 8 spaces |
| Max line width | 100 characters |
| Keep indents on empty lines | Yes |
| Unused imports | Automatically removed |
Excluded Paths
Generated and third-party code is excluded from formatting:
**/api/grpc/auto/**— gRPC/Protobuf generated code**/consistency/entity/**— Generated entity code**/istio/model/**— Istio module**/common/packagescan/**— Spring Framework ported code