作者w180112 ([NOOB]我超RETARD我超廢 )
標題Re: [討論] 寫三元判斷式code review被打槍
時間2022-12-30 01:40:05
這讓我想到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
--
※ 發信站: 批踢踢實業坊(www.ptt-club.com.tw), 來自: 219.74.31.36 (新加坡)
※ 文章網址: https://www.ptt-club.com.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