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

コードの品質を確保し、すべてのコントリビュータが同じ標準に従うように、時間の経過とともに成長し、有用であることが証明されたルールセットを確立しました。ルールには議論の余地が残されています。

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

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ルールが必要な場合は、mx.substratevm/suite.pyでプロジェクトのcheckstyle属性の値(デフォルトではcom.oracle.svm.coreを参照)を変更することによって指定できます。src/<project name>/.checkstyle.excludeファイルを使用すると、ディレクトリの粒度で特定のコード・ファイルをcheckstyleから除外できます。このような除外ファイルには、行ごとに1つのディレクトリをプロジェクト・ルートに対する相対パスで指定する必要があります。gitではこのファイルはデフォルトで無視されるため、git addを使用して明示的に追加する必要があります。

Checkstyle XMLファイルを追加または削除する変更セットをプルすると、IDEで不適切なスタイルの警告またはエラーが表示されることがあります。これは、mx ideinitを実行し、影響を受けるプロジェクトをクリーンアップすることで解決されます。

IDE統合

IDEプラグインは、スタイル・ルールに準拠するために役立ちます。次にいくつかの例を示します:

さらなる提案は、IDE統合に関するドキュメントを参照してください。

その他の情報