也通常是花最多時間的部分
在 code reuse (程式碼重用) 部分我就發現有幾種寫法
也不知道怎麼查相關的資料
這好像是比較偏向 coding style,所以並沒有正解 吧
總之就來統計個 (雖然應該很少人才是 QuQ
![]() |
| Picture from MonkeyUser.com |
code reuse 最簡易的就是把會重複的部分寫成函式
以我最近正在寫的為例,我盡量簡化@@,也會提供詳盡的程式碼區塊
總共三種版本,每個版本各有三個函式
v1
把廣義的函式定義好在狹義的函式中呼叫廣義的函式
e.g. 詳細
insert_at(index, data) {
/* 定義 */
}
prepend(data) {
insert_at(0, data)
}
append(data) {
insert_at(this.length, data)
}
v2
各個狹義的函式皆定義好在廣義函式中依照狀態去選擇該呼叫的狹義函式
e.g. 詳細
insert_at(index, data) {
if (index == 0) {
prepend(data)
} else if (index == this.length) {
append(data)
} else {
/* 其他定義 */
}
}
prepend(data) {
/* 定義 */
}
append(data) {
/* 定義 */
}
v3
不使用 code reuse全部重寫定義,不呼叫其他函式
e.g. 詳細
insert_at(index, data) {
/* 定義 */
}
prepend(data) {
/* 定義 */
}
append(data) {
/* 定義 */
}
投票地點\傳送門/
參考資料:
DRY code vs. WET code
Don't repeat yourself - wiki

沒有留言:
張貼留言