Re: [轉錄] Code Review: 大家都應該做的事情
Code review?
別鬧了吧. 一家公司有能力做code review的有幾個?
好啦, 即使有人可以review, 並review出問題了, 有能力改嗎?
不可能吧. 就是因為經驗不足才會有這種狀況啊!
光是提出問題, 就能讓程度不夠的人立刻升級嗎? 不可能啊!
許多經驗不足, 但覺得自己很強的高手(通常是寫code不到十年的),
雖然寫code速度快, 博學多聞, 資料結構一把罩, 說起架構, design patterns
也是頭頭是道. 但寫起code來, 總是code架構不佳, 不好maintain.
這不是懂的多不多的問題, 也不是努力不努力的問題, 純綷是歷練的問題.
有些能力, 特別是code的架構安排,沒有長時間的體會, 就是不會到達那個火喉.
不服氣的人, 回去看看你去年寫的code, 如果你覺得去年寫的code讓
自己很驚艷, 那你就算是有經驗的programmer. 如果覺得自己程度明明很好,
但怎麼寫的code普普通通, 我說, 你就是經驗還不足.
(我沒說未來無法達到這程度喔)
這麼說好了, code review之所以知易行難的原因是:
review所出現的問題中, 無法處理的問題, 都是code的架構問題,
這些東西和programmer的經驗有關. 無法透過短期/長期教育來提升.
所以, 有能力改的人, 不用review, 自己也會在過程中修正.
沒能力改的人, 也不用改了. 多改只是create愈多問題.
至於那些像 SQL injection 要改成 bind variables,
lookup table 用array, naming styles 不一致, code 亂成一團,
常常有超大method/class, copy-paste code一堆這些東西等問題.
如果到了要處理的程度, 那麼在處理之前, 先fire寫這些code的人吧.
唉...要被噓暴了.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.69.151.170
推
08/17 02:53, , 1F
08/17 02:53, 1F
→
08/17 03:41, , 2F
08/17 03:41, 2F
這是處理問題的角度問題.
如果A,B,C,D,E等人, 寫code常常出一些"呆呆"的包.
加法思考:
1. 使用甲計劃來防呆.
2. 甲計劃如果再有漏洞, 那再出乙計晝來防止甲計劃出包.
3. 乙計劃如果再有漏洞, 就再出丙計晝來防止乙計劃出包.
4. loop 直到大家都有做不完的事, 然後再請F,G,H,I,J,K等人來執行防呆計劃.
減法思考:
1. 砍掉A,B,C,D,E等人, 換甲,乙,丙,丁,戊來寫code.
2. 甲,乙,丙,丁,戊還是出"呆呆"的包. 再砍甲,乙,丙,丁,戊, 請請一批人
3. loop直到因為一直換人, 沒人做事, 垮掉了.
所以, 制度解決不了問題.
於是, 問題就簡單了, 回到原點: 找對的人, 做對的事.
做研發的工作, 依靠對的人, 永遠比依靠制度要保險.
※ 編輯: yy938559 來自: 203.69.151.170 (08/17 04:47)
→
08/17 04:47, , 3F
08/17 04:47, 3F
→
08/17 04:47, , 4F
08/17 04:47, 4F
→
08/17 04:48, , 5F
08/17 04:48, 5F
→
08/17 04:48, , 6F
08/17 04:48, 6F
→
08/17 04:48, , 7F
08/17 04:48, 7F
→
08/17 04:48, , 8F
08/17 04:48, 8F
→
08/17 04:49, , 9F
08/17 04:49, 9F
→
08/17 04:49, , 10F
08/17 04:49, 10F
→
08/17 04:50, , 11F
08/17 04:50, 11F
→
08/17 04:51, , 12F
08/17 04:51, 12F
→
08/17 04:54, , 13F
08/17 04:54, 13F
→
08/17 04:56, , 14F
08/17 04:56, 14F
老闆們不做code review原因如下:
1. 雖然不了解code, 被工程師騙去做code review很多次了, 再也不相信狼來了.
你有聽說過被寫爛的code被救成好code嗎?
寫過code的人都知道...
這不可能發生嘛!
2. 同上, 老闆早就知道爛code不可能改成好code.
又不是沒被騙過, 當然不review啊.
結論, 不是老闆的人, 才會想做code review啊.
這樣說有道理嗎?
※ 編輯: yy938559 來自: 203.69.151.170 (08/17 05:08)
→
08/17 06:18, , 15F
08/17 06:18, 15F
→
08/17 07:04, , 16F
08/17 07:04, 16F
推
08/17 07:38, , 17F
08/17 07:38, 17F
→
08/17 07:39, , 18F
08/17 07:39, 18F
→
08/17 07:39, , 19F
08/17 07:39, 19F
→
08/17 07:41, , 20F
08/17 07:41, 20F
→
08/17 07:54, , 21F
08/17 07:54, 21F
→
08/17 07:54, , 22F
08/17 07:54, 22F
→
08/17 08:34, , 23F
08/17 08:34, 23F
→
08/17 09:06, , 24F
08/17 09:06, 24F
→
08/17 09:07, , 25F
08/17 09:07, 25F
→
08/17 09:07, , 26F
08/17 09:07, 26F
→
08/17 09:08, , 27F
08/17 09:08, 27F
→
08/17 09:09, , 28F
08/17 09:09, 28F
推
08/17 10:11, , 29F
08/17 10:11, 29F
→
08/17 10:11, , 30F
08/17 10:11, 30F
→
08/17 11:16, , 31F
08/17 11:16, 31F
→
08/17 11:17, , 32F
08/17 11:17, 32F
→
08/17 11:18, , 33F
08/17 11:18, 33F
推
08/17 16:25, , 34F
08/17 16:25, 34F
→
08/17 16:25, , 35F
08/17 16:25, 35F
→
08/17 16:26, , 36F
08/17 16:26, 36F
→
08/17 20:13, , 37F
08/17 20:13, 37F
→
08/17 20:14, , 38F
08/17 20:14, 38F
→
08/17 21:27, , 39F
08/17 21:27, 39F
→
08/17 21:28, , 40F
08/17 21:28, 40F
→
08/17 21:29, , 41F
08/17 21:29, 41F
→
08/18 01:52, , 42F
08/18 01:52, 42F
→
08/18 01:54, , 43F
08/18 01:54, 43F
→
08/18 01:55, , 44F
08/18 01:55, 44F
→
08/18 01:56, , 45F
08/18 01:56, 45F
推
08/19 12:58, , 46F
08/19 12:58, 46F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 5 之 18 篇):