註解

關於程式元素的資料,例如類別和方法,可以在編譯或執行期間處理。

我們習慣於對程式中的資料進行分類,並制定有關其運作方式的規則。客戶可以按地區分組,並有付款規則。通常,對程式本身的元素制定這些類型的規則很有用。語言通常提供一些內建機制來執行此操作,例如允許我們將類別和方法標記為 public 或 private 的存取控制。

但是,通常有些事情我們想要標記的超出了語言支援的範圍,甚至應該合理支援的範圍。我們可能想要限制整數欄位可能採用的值,標記應該作為測試一部分執行的函式,或指出類別可以安全地序列化。

註解是關於程式元素的一段資訊。我們可以在執行期間或編譯期間(如果環境支援的話)取得這些資訊並加以處理。因此,註解提供了一種擴充程式語言的機制。

我這裡使用術語註解,因為這是 Java 程式語言中使用的術語。.NET 中的類似語法早於此,但其術語「屬性」被廣泛用於其他概念,所以我比較喜歡遵循 Java 術語。然而,這裡的概念比語法更廣泛,而且沒有這種特殊語法也可以獲得相同的好處。

更多詳細資訊,請參閱 DSL 書籍第 42 章

DSL 目錄