我正在開發一個名爲StableClass
的類。 這個類是「穩定的」:用戶可以在這個類上依賴他們的代碼。該框架的未來版本將具有此類,並且它將向後兼容。如何將方法/ API標記爲實驗?
我想要的是添加一個方法到這個類,但我要告訴用戶這個特殊的新方法是實驗性的,並在未來可能會改變。
例如:
class StableClass
{
public:
void stableMethod1();
void stableMethod2();
void stableMethod3();
void unstableMethod(); // How to tag this method as experimental ?
};
用戶應該知道unstableMethod()
是實驗性的。 API可能在未來(或不會)發生變化。
可能的選項:
- 添加
experimental
字作爲名稱的前綴或後綴。例如:unstableMethod_experimental()
- 日誌安慰每次方法被調用
- 將其標記爲過時的時間,但警告說,這是實驗
任何其他的選擇嗎?
我想擁有experimental
屬性,並且編譯器會在編譯時引發警告(如deprecated
屬性),但據我所知,此屬性不存在。
[更新]:
我要釋放的框架的穩定版本,與標記爲實驗少數的API。有時,需要一段時間才能找到正確的名稱,正確的參數或特定方法的正確功能,或者爲所有支持的平臺實施它。
我想告訴我的網友認爲「這是該框架的新的穩定版本我們還增加了這項新功能,但它是實驗性的,因爲它具有以下限制:......」。
所以,我有這個要求,其中穩定的版本可能有實驗性的功能。雖然這可能聽起來像是一個矛盾,但這是我的一個要求。
不是在語言標準。編譯器可以自由地將它作爲擴展來實現,但無論如何,我都會建議將它寫在文檔中,而不是在函數名稱或任何非標準屬性上擺弄。 – DevSolar
也許:一個實驗功能使整個庫實驗(在修訂控制中的一個實驗分支) –
這聽起來像它應該是一個文檔的東西,而不是代碼的東西... – twalberg