我想知道評論應該去哪裏以及我應該使用哪個關鍵詞,因爲我似乎無法在網上找到示例,我應該舉例說明嗎?如何將Java doc作爲類的不變量?
/**
* @invariant invariant example
*/
public class Example {
}
我想知道評論應該去哪裏以及我應該使用哪個關鍵詞,因爲我似乎無法在網上找到示例,我應該舉例說明嗎?如何將Java doc作爲類的不變量?
/**
* @invariant invariant example
*/
public class Example {
}
有幾個possibilites
一些實例
@Contract( 「_,空 - >空」) - 方法返回null如果其第二個 參數爲null。
@Contract( 「_,空 - >空;!_,空 - >空」) - 如果其第二個參數是空的,而不是空 否則 方法返回null。
@Contract(「true - > fail」) - 典型的assertFalse()方法 如果將true傳遞給它,則會引發異常。
詳情請參閱https://www.jetbrains.com/help/idea/2016.2/contract-annotations.html。
你可以在沒有IntelliJ IDEA的情況下使用它們。 IDEA對這些註釋具有明智的支持。它會檢查你的方法代碼是否真的符合指定的不變量。
此方法不包括所有情況。對於更復雜的字段之間的依賴關係,您需要使用英文單詞來描述不變量。
例如,https://docs.oracle.com/javase/7/docs/api/java/util/Map.html#put(K,%20V)
例外如果映射以前包含該鍵的映射關係,則舊值是由指定的值所替代。
另外,異常可以被用來描述和執行不變。對於上述Map.put
方法,我們有以下爲無效的參數異常(參數會破壞類不變)
- 拋出:UnsupportedOperationException異常,如果put操作 不受此地圖支持
- 拋出: ClassCastException如果指定鍵或值的類別 阻止將其存儲在此映射中
- @throws NullPointerException如果指定的鍵或值爲空 ,並且此映射不允許null鍵或值
- @throws IllegalArgumentException如果指定鍵 或值的某些屬性不允許將其存儲在此映射
沒有通用的標準這樣做的方式。 –