ネイティブイメージのコードスタイル

コードの品質を確保し、すべての貢献者が同じ基準に従うように、私たちは時間をかけて成長し、有用であることが証明されたルールセットを確立しました。ルールは議論の余地があることに注意してください!

ソースコードのフォーマット #

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 統合に関するドキュメントを参照してください。

お問い合わせ