這是一個純粹的設計/良好實踐問題,我不能提供實際的代碼示例,但只能提供僞代碼。在方法中動態聲明新的「類字段」 - 良好的做法與否?
我正在使用專有的JavaScript框架,它給了我一個類的概念(類似於TypeScript),並允許我動態創建「類成員/字段」。例如,使用僞代碼:
Class Human {
firstName;
secondName;
HumanConstructor() {
}
void method1 {
this.title = "Mr"; // dynamically created new Class field
}
void method2 {
this.addressedByName = this.title + this.firstName;
}
}
問題1:這是個好/壞的設計推出新的「類域」裏面的方法呢? 問題2:對於一種方法(方法2)而言,它是一種好的/壞的設計,取決於其他方法(method1)首先是caleld的事實。
上述兩個主題有哪些優缺點?
Q1:我想如果你在方法中引入新的字段,你可能會打破Chrome的基於類的優化。 Chrome建議您在初始化類的一開始就定義所有類字段。 –
Q2:通常,您有一個專用字段來保存method1已經(或尚未)被調用的事實,然後在method2中進行檢查。如果method1沒有被調用,那麼拋出一個異常。 –
@JonAdams這個問題不適合軟件工程 - 它會很快被拒絕並在那裏關閉,請參閱[優點和缺點]的問題(http://meta.softwareengineering.stackexchange.com)/q/6758/31260)推薦閱讀:** [軟件工程(以前稱爲程序員)的含義是什麼?一個堆棧溢出指南](http://meta.softwareengineering.stackexchange.com/q/7182/31260)** – gnat