本文へ移動
cccskills
無料GitHub で公開

fe-code-style

Fix FE (Java) code style issues using Checkstyle

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

What I do

Diagnose and fix Java code style issues in the FE module using the project's Checkstyle configuration.

When to use me

  • Before committing FE Java code changes
  • When FE build fails due to checkstyle violations
  • When you need to understand FE style rules

Procedure

Step 1: Run checkstyle

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.

Step 2: Interpret violations

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.

Step 3: Fix common violations

ViolationFix
RegexpHeaderAdd/fix Apache License header at file top
UnusedImportsRemove unused import statements
LineLength (>120 chars)Break long lines
IllegalImport (shaded classes)Use the non-shaded equivalent (see import-control.xml)
FileTabCharacterReplace tabs with spaces
NewlineAtEndOfFileEnsure file ends with a newline
MergeConflictMarkerResolve git merge conflicts

Step 4: Verify fix

After fixing, re-run checkstyle to confirm:

cd fe && mvn checkstyle:check -pl fe-core

Key Configuration

FilePurpose
fe/check/checkstyle/checkstyle.xmlMain rules (license header, line length 120, encoding, imports)
fe/check/checkstyle/suppressions.xmlRule exclusions (test files, nereids, large files)
fe/check/checkstyle/import-control.xmlImport restrictions (no shaded classes, no old logging APIs, no Lombok in nereids)
fe/check/checkstyle/checkstyle-apache-header.txtApache License 2.0 header template
build-support/IntelliJ-code-format.xmlIntelliJ formatter scheme (120 col, import organization)

Suppression Rules

Some files/packages have relaxed rules (see suppressions.xml):

  • Test files: Javadoc rules suppressed
  • Non-nereids code: Some strict rules suppressed
  • Specific large files: Individual suppressions

Excluded Code

The following are excluded from checkstyle (see fe/pom.xml):

  • **/apache/doris/thrift/**/* (generated Thrift code)
  • **/apache/parquet/**/* (generated Parquet code)

Import Restrictions (key rules from import-control.xml)

  • No shaded imports: Do not use org.apache.doris.thirdparty.* directly
  • No old logging: Do not use org.apache.commons.logging or java.util.logging
  • No SimpleDateFormat: Use java.time APIs instead
  • No Lombok in nereids: lombok is disallowed in org.apache.doris.nereids package

Troubleshooting

ProblemSolution
Build fails on validate phaseRun mvn checkstyle:check -pl fe-core to see specific violations
Can't find checkstyle configEnsure you're running from the fe/ directory
IntelliJ formatting differsImport build-support/IntelliJ-code-format.xml via Settings → Editor → Code Style

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Fix BE (C++) code formatting issues using clang-format

日本語の概要は準備中です。原文の説明を表示しています。

apache/doris1.6万2026年10月10日 更新

Run clang-tidy on newly added/modified BE C++ code

日本語の概要は準備中です。原文の説明を表示しています。

apache/doris1.6万2026年10月10日 更新

Review code with Doris-specific checklists

日本語の概要は準備中です。原文の説明を表示しています。

apache/doris1.6万2026年10月10日 更新

Run Doris docker-based regression tests from a clean package

日本語の概要は準備中です。原文の説明を表示しています。

apache/doris1.6万2026年10月10日 更新

apache のスキルをすべて見る

このスキルの問題を報告する