원클릭으로
fe-code-style
Fix FE (Java) code style issues using Checkstyle
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Fix FE (Java) code style issues using Checkstyle
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Review code with Doris-specific checklists
Fix BE (C++) code formatting issues using clang-format
Run clang-tidy on newly added/modified BE C++ code
Run Doris docker-based regression tests from a clean package
| name | fe-code-style |
| description | Fix FE (Java) code style issues using Checkstyle |
| compatibility | opencode |
Diagnose and fix Java code style issues in the FE module using the project's Checkstyle configuration.
Checkstyle is integrated into the Maven build and runs automatically during mvn validate. To check style only (without full compilation):
cd fe && mvn checkstyle:check -pl fe-core
Or as part of the normal build:
./build.sh --fe -j${DORIS_PARALLELISM}
If checkstyle fails, the build will fail with error messages showing the file, line number, and rule violated.
Checkstyle output looks like:
[ERROR] src/main/java/.../Foo.java:[42:5] (imports) UnusedImports: Unused import - java.util.List.
[ERROR] src/main/java/.../Bar.java:[10] (header) RegexpHeader: Line does not match expected header line...
Each error shows: [file]:[line:col] (category) RuleName: description.
| Violation | Fix |
|---|---|
RegexpHeader | Add/fix Apache License header at file top |
UnusedImports | Remove unused import statements |
LineLength (>120 chars) | Break long lines |
IllegalImport (shaded classes) | Use the non-shaded equivalent (see import-control.xml) |
FileTabCharacter | Replace tabs with spaces |
NewlineAtEndOfFile | Ensure file ends with a newline |
MergeConflictMarker | Resolve git merge conflicts |
After fixing, re-run checkstyle to confirm:
cd fe && mvn checkstyle:check -pl fe-core
| File | Purpose |
|---|---|
fe/check/checkstyle/checkstyle.xml | Main rules (license header, line length 120, encoding, imports) |
fe/check/checkstyle/suppressions.xml | Rule exclusions (test files, nereids, large files) |
fe/check/checkstyle/import-control.xml | Import restrictions (no shaded classes, no old logging APIs, no Lombok in nereids) |
fe/check/checkstyle/checkstyle-apache-header.txt | Apache License 2.0 header template |
build-support/IntelliJ-code-format.xml | IntelliJ formatter scheme (120 col, import organization) |
Some files/packages have relaxed rules (see suppressions.xml):
The following are excluded from checkstyle (see fe/pom.xml):
**/apache/doris/thrift/**/* (generated Thrift code)**/apache/parquet/**/* (generated Parquet code)org.apache.doris.thirdparty.* directlyorg.apache.commons.logging or java.util.loggingjava.time APIs insteadlombok is disallowed in org.apache.doris.nereids package| Problem | Solution |
|---|---|
Build fails on validate phase | Run mvn checkstyle:check -pl fe-core to see specific violations |
| Can't find checkstyle config | Ensure you're running from the fe/ directory |
| IntelliJ formatting differs | Import build-support/IntelliJ-code-format.xml via Settings → Editor → Code Style |