原生映像程式碼風格

為了確保程式碼的品質,並使所有貢獻者遵循相同的標準,我們制定了一套規則,這些規則隨著時間的推移而不斷發展,並證明是有用的。請注意,這些規則是可以討論的!

原始程式碼格式化 #

使用 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

以及其他檢查的類似命令,這些檢查可以停用(包括一般 stopresume 命令)。當然,確保合理使用這些註解是程式碼審查的問題。

如果專案需要不同的 Checkstyle 規則集,可以在 mx.substratevm/suite.py 中變更專案的 checkstyle 屬性值來指定(預設情況下,該屬性引用 com.oracle.svm.core)。可以使用檔案 src/<專案名稱>/.checkstyle.exclude 在目錄粒度上將特定程式碼檔案從 Checkstyle 中排除。此類排除檔案必須每行包含一個目錄,路徑相對於專案根目錄。必須使用 git add 明確新增該檔案,因為 git 預設會忽略它。

當拉取新增或刪除 Checkstyle XML 檔案的變更集時,IDE 可能會顯示不適當的樣式警告或錯誤。可以透過執行 mx ideinit 並清除受影響的專案來解決此問題。

IDE 整合 #

IDE 外掛程式有助於遵循樣式規則。以下是一些範例:

如需進一步的建議,請參閱關於 IDE 整合的文件

與我們聯繫