PTT推薦

Re: [討論] 寫三元判斷式code review被打槍

看板Soft_Job標題Re: [討論] 寫三元判斷式code review被打槍作者
w180112
([NOOB]我超RETARD我超廢 )
時間推噓 7 推:7 噓:0 →:11

這讓我想到Linus本人在TED上舉的linked list例子

以下借用Jserv老師的文章內容
(https://hackmd.io/@sysprog/c-linked-list)

1. Non elegant linked list remove
https://i.imgur.com/frZ4cmO.jpg

圖 寫三元判斷式code review被打槍

2. Elegant version
https://i.imgur.com/JzMxI0D.jpg
圖 寫三元判斷式code review被打槍

第一種好讀第二種更簡潔效能更好
但到底哪一種比較好呢?

回到主題 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留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.74.31.36 (新加坡)
PTT 網址

wulouise12/30 02:11我比較喜歡dummy prehead, indirect比較不直覺

sharek12/30 06:45如果你指的是team member 隨時都處在第二種coding style

sharek12/30 06:45下coding 當然ok, 但我想多數人的現實還是都在第一種

jack020412/30 09:34這是底層function不是商業邏輯,你會頻繁改動的那種

jack020412/30 09:35如果場景的確需要壓出這些資源,那就是用2,像nasa

s06yji312/30 09:47如果第二種效能明顯較好我會選二。兩個都不難讀

leolarrel12/30 09:58linus 是我偶像.但我知道他已經不是大多數人的偶像了..

fr7512/30 10:54Linus在的團隊第二種難的寫法也都算簡單 但一般人也進不去

fr7512/30 10:54

ohmylove34712/30 11:29好讀好維護的本質是為未來改動做準備,底層不會被改

ohmylove34712/30 11:29到的東西當然效能優先

Merkle12/30 16:15好不好讀是看你team member的程度

kurtsgm12/30 17:31第一種比較好讀 第二種稍微要看仔細一點點 但如果兩種都

kurtsgm12/30 17:32看懂,我覺得第二種倒是比較符合一般人類現實中的做法

kurtsgm12/30 17:34兩種要選的話我會選第二種 XDD 純粹只是syntax稍微要細看

kurtsgm12/30 17:34但邏輯上更直覺

kurtsgm12/30 17:35(只是那pointer的naming....indirect好像有點不太具體)

bmiss12/31 19:40第二種過一段時間再回來看,應該會覺得當時很厲害