Files
2026-07-13 12:37:52 +08:00

108 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](https://alibaba.github.io/Alibaba-Java-Coding-Guidelines/)
[阿里巴巴JAVA开发规约](https://github.com/alibaba/p3c/blob/master/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E5%8D%8E%E5%B1%B1%E7%89%88%EF%BC%89.pdf)
[community issue](https://github.com/alibaba/nacos/issues/2992)
## 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 Installnot necessary
*It is not necessary to install, if you want to find a problem when you are coding.*
*不是必须安装,如果你需要在开发的时候实时发现问题的话,你需要安装。*
### idea IDE
#### checkstyle
[checkstyle-idea-install](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea)
1. `Preferences/Settings --> Other Settings --> Checkstyle` OR `Preferences/Settings --> Tools --> Checkstyle`
2. Set checkstyle version at least 11.0.0 (required for Java 17 support) and scan scope `All resource(including tests)` in checkstyle plugin.
3. Import `style/NacosCheckStyle.xml` to checkstyle plugin.
4. Scan and check your modified code by plugin.
[checkstyle插件idea安装](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea)
1. `Preferences/Settings --> Other Settings --> Checkstyle` 或者 `Preferences/Settings --> Tools --> Checkstyle`
2. 在checkstyle插件中设置checkstyle版本至少为11.0.0Java 17支持所需),并将扫描作用域设置为`All resource(including tests)`
3. 导入源代码下`style/NacosCheckStyle.xml`文件到checkstyle插件。
4. 用checkstyle插件扫描你修改的代码。
#### SpotBugs
[spotbugs-idea-install](https://plugins.jetbrains.com/plugin/14014-spotbugs)
1. `Preferences/Settings --> Plugins` search "SpotBugs" and install.
2. Run SpotBugs analysis on your modified code to catch potential bugs before submitting.
[SpotBugs插件idea安装](https://plugins.jetbrains.com/plugin/14014-spotbugs)
1. `Preferences/Settings --> Plugins` 搜索 "SpotBugs" 并安装。
2. 在提交前对修改的代码运行 SpotBugs 分析,以提前发现潜在 bug。
### eclipse IDE
#### checkstyle
Volunteer wanted.
待补充。
## Automated Code Formatting (Spotless)
Nacos uses [Spotless Maven Plugin](https://github.com/diffplug/spotless/tree/main/plugin-maven) with Eclipse JDT Formatter for automated Java code formatting. The formatter configuration is at [`nacos-eclipse-formatter.xml`](nacos-eclipse-formatter.xml).
### Usage
```bash
# 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