Linus 關(guān)于coding “good taste”的說明
兩者都是從單鏈表中刪除目標節(jié)點推溃,都需要遍歷,效率上沒有差別,但第一個實現(xiàn)是最符合直覺的方案,第二個方案換了個角度戚绕,但代碼確實天翻地覆。
- 普通代碼: 對目標節(jié)點的前一個節(jié)點操作(if 存在的原因)枝冀,替換指向目標為下一個節(jié)點
- 神奇代碼: 對目標節(jié)點直接操作舞丛,用后一個節(jié)點替換
換做我即便是用第一個方案很多次也不會去想更好的方案,畢竟前者太符合直覺了宾茂。這個新方案適用于很多鏈表操作瓷马,值得記錄拴还。
當然跨晴,Linus想說的應該是盡量在實現(xiàn)中減少例外的情況,盡量抽象出更好的模型適應所有的情況片林。