這讓我想到Linus本人在TED上舉的linked list例子 以下借用Jserv老師的文章內容 (https://hackmd.io/@sysprog/c-linked-list) 1. Non elegant linked list remove https://i.imgur.com/frZ4cmO.jpg
2. Elegant version https://i.imgur.com/JzMxI0D.jpg
第一種好讀第二種更簡潔效能更好 但到底哪一種比較好呢? 回到主題 code review 的其中一個原則是要好讀易懂 但如果當某種進階寫法已經是team members都認為很易懂時為何不行? ※ 引述《a88241050》之銘言 : 小弟寫java的 : 以前常常寫三元判斷式 : 就比如說 : String a; : if(con) { : a= "aaa"; : } else { : a="bbb"; : } : 這樣就要佔掉六行 : 所以我通常都是寫 : String a= con ? "aaa" : "bbb"; : 從五行變成一行 : 在我看來簡潔又方便 : 但最近給一個資深前輩code review的時候 : 他說不要用三元判斷式 : 因為不好閱讀 : 他工作那麼久也從來不用三元判斷式的 : 而且java有很多套件都可以用來取代三元判斷式 : 所以用三元判斷式真的不好嗎? ---- Sent from BePTT on my iPhone 14 Pro Max -- ※ 發信站: 批踢踢實業坊(ptt-web.org.tw), 來自: 219.74.31.36 (新加坡) ※ 文章網址: https://ptt-web.org.tw/Soft_Job/M.1672335608.A.9B2
wulouise: 我比較喜歡dummy prehead, indirect比較不直覺 12/30 02:11
sharek: 如果你指的是team member 隨時都處在第二種coding style 12/30 06:45
sharek: 下coding 當然ok, 但我想多數人的現實還是都在第一種 12/30 06:45
jack0204: 這是底層function不是商業邏輯,你會頻繁改動的那種 12/30 09:34
jack0204: 如果場景的確需要壓出這些資源,那就是用2,像nasa 12/30 09:35
FishRoom: 政治圈一堆包養好嗎 12/30 09:35
s06yji3: 如果第二種效能明顯較好我會選二。兩個都不難讀 12/30 09:47
leolarrel: linus 是我偶像.但我知道他已經不是大多數人的偶像了.. 12/30 09:58
fr75: Linus在的團隊第二種難的寫法也都算簡單 但一般人也進不去 12/30 10:54
fr75: 啊 12/30 10:54
ohmylove347: 好讀好維護的本質是為未來改動做準備,底層不會被改 12/30 11:29
KsiR: 有錢人一堆包養好嗎 12/30 11:29
ohmylove347: 到的東西當然效能優先 12/30 11:29
Merkle: 好不好讀是看你team member的程度 12/30 16:15
kurtsgm: 第一種比較好讀 第二種稍微要看仔細一點點 但如果兩種都 12/30 17:31
kurtsgm: 看懂,我覺得第二種倒是比較符合一般人類現實中的做法 12/30 17:32
kurtsgm: 兩種要選的話我會選第二種 XDD 純粹只是syntax稍微要細看 12/30 17:34
peoples: 學生妹被包養多嗎 12/30 17:34
kurtsgm: 但邏輯上更直覺 12/30 17:34
kurtsgm: (只是那pointer的naming....indirect好像有點不太具體) 12/30 17:35
bmiss: 第二種過一段時間再回來看,應該會覺得當時很厲害 12/31 19:40
TWkobe5566: 效能這種事情很難說啦,如果是做產品未來重構時易懂很 01/07 09:32
TWkobe5566: 重要。做專案就隨便啦,驗收付錢了事。呵 01/07 09:32
wilmer: 有錢人為啥都想包養 01/07 09:32