- JDK 23対応GraalVM (最新)
- JDK 24対応GraalVM (早期アクセス)
- JDK 21対応GraalVM
- JDK 17対応GraalVM
- アーカイブ
- 開発ビルド
ネイティブイメージのコードスタイル
コードの品質を確保し、すべての貢献者が同じ基準に従うように、私たちは時間をかけて成長し、有用であることが証明されたルールセットを確立しました。ルールは議論の余地があることに注意してください!
ソースコードのフォーマット #
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
および無効にできる他のチェック(一般的な stop
および resume
コマンドを含む)の同様のコマンド。もちろん、これらのコメントを合理的に使用することはコードレビューの問題です。
プロジェクトで異なる Checkstyle ルールセットが必要な場合は、プロジェクトの checkstyle
属性の値を変更することで、mx.substratevm/suite.py
で指定できます(デフォルトでは、com.oracle.svm.core
を参照します)。特定のコードファイルは、ファイル src/<project name>/.checkstyle.exclude
を使用して、ディレクトリ単位で checkstyle から除外できます。このような除外ファイルには、プロジェクトルートからの相対パスで、1行に1つのディレクトリを含める必要があります。 git はデフォルトで無視するため、git add
でファイルを明示的に追加する必要があります。
Checkstyle XML ファイルを追加または削除する変更セットをプルすると、IDE に不適切なスタイルの警告またはエラーが表示される場合があります。これは、mx ideinit
を実行し、影響を受けるプロジェクトをクリーニングすることで解決されます。
IDE統合 #
IDEプラグインは、スタイルルールに準拠するのに役立ちます。いくつかの例は次のとおりです。
- Eclipse Checkstyle Plugin: Eclipse で Checkstyle 違反を報告するため、
mx checkstyle
を手動で実行する必要はありません。 - IntelliJ Eclipse Code Formatter: IntelliJ のソースファイルを Eclipse IntelliJ ルールに従ってフォーマットします。このプラグインは、
mx ideinit
によって自動的に設定されます。 - IntelliJ Save Actions ファイルを保存する前に自動的にフォーマットします。
詳細については、IDE 統合に関するドキュメントを参照してください。