Re: [轉錄] Code Review: 大家都應該做的事情
※ 引述《yoco315 (眠月)》之銘言:
: ※ 引述《yy938559 (高個子)》之銘言:
: 實在看不下去。
: 首先一間公司如果能作 code review 的人沒幾個,這種公司不待也罷。
: 因為 code review 並不難,如果一間公司沒幾人能作 code review,
: 那除非整間公司都是白痴。
有能力做code review的人本來就不多啊. 這會很奇怪嗎?
整間公司都程度不好也不是沒有吧.
: 程式碼的架構,絕對可以靠訓練達成,
: 短期有短期訓練,長期有長期的體驗,
: 《Solid Code》《Code Complete》《Code Craft》《Design Pattern》
: 都是可以在短時間裡面提昇程式碼品質的訓練,
短時間可以提昇? 你真的了解你說的東西嗎?
這些東西沒有個10年經驗, 不要說爐火純青.
連要決定要用在那裡都會有困難.
還提昇咧...
: 但是你說的沒錯,這些東西無法靠 code review 完成,為什麼?
: 「因為 code review 根本不該看這些」
你該不會以為code的架構是Visio/PowerPoint隨便幾個矩型, 塗上
幾個顏色就是架構吧? 還是像用UML一樣, 以為畫幾個diagrams,
可以產生insert/delete/update, 就是架構?
classes/methods的安排都是在coding時產生的.可以說是依經驗加一點
推理在人腦中runtime寫出的.
那些在沒有寫code前, 就說程式架構(指程式碼的安排)巳經設計好的,
不是太天真說大話, 或者騙子, 不然就是傳說中萬中選一的那位.
所以... code review 不review架構要review什麼?
: 就算你真的在 code review 的時候檢討架構好了,也保證有用,
: 除非你的同事們根本沒有心想聽,那不管作什麼都沒用,
: 但是有很多人不是不想、不是不能,他們只是不知道可以這麼作。
: code review 不看架構不看 style,看的是盲點跟一格洞,
語法不好, 演算法不佳, 邏輯不周, 或不夠了解tools的特性而使用不當等問題,
這些問題花點時間, 通常就可以處理. 如果真的處理不來, 也可以問別人.
可以處理/問人的東西, 又何需review呢?
沒有人會故意寫爛code的, 是因為實在handle不了, 才會出怪招.
而程度不夠的人, 每天所產生爛code的速度, 遠超過你能review的.
不要讓這種人繼續寫code, 才能加速開發的速度不是嗎?
所以, 也不需要review爛code啊! 停止產生才是正道.
而架構reivew? 我說實際一點好了.
以你的經驗, 如果review一個程度不夠的人, 如果他能follow的話,
那你也不用混了. 不能follow的話, 那何必浪費時間reveiw呢?
: code review 明明就是實務的東西,
: 你怎麼會以為他是學院派,實在令人很無言。
有經驗的人都知道, 遇到一個困難時, 有時候花時間努力也不見得能處理.
這和人的經驗/資質/能力/運氣/靈感是有關的.
code reivew 在我的觀點就是這樣:
除了review架構之外, 其他東西是不需review的.
不是這方法不對. 而是在現實世界中,
你很難(應該說不可能發生)同時找到一個有能力review
又同時有一個有能力做相對應改變的人.
如果有這樣子的配對, 以這樣子的程度, 那可能還需要review?
不實用的東西, 不是學院派的話, 難道是實務派?
我知道又要被噓了. 沒辦法我的眼界就只到這裡. 如果鬧了笑話,
請各位多包涵啊.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.69.151.170
→
08/19 03:27, , 1F
08/19 03:27, 1F
→
08/19 03:27, , 2F
08/19 03:27, 2F
→
08/19 03:28, , 3F
08/19 03:28, 3F
→
08/19 03:28, , 4F
08/19 03:28, 4F
→
08/19 03:29, , 5F
08/19 03:29, 5F
→
08/19 03:29, , 6F
08/19 03:29, 6F
→
08/19 03:30, , 7F
08/19 03:30, 7F
→
08/19 03:31, , 8F
08/19 03:31, 8F
→
08/19 03:31, , 9F
08/19 03:31, 9F
→
08/19 03:31, , 10F
08/19 03:31, 10F
→
08/19 03:32, , 11F
08/19 03:32, 11F
→
08/19 03:32, , 12F
08/19 03:32, 12F
→
08/19 03:32, , 13F
08/19 03:32, 13F
→
08/19 03:33, , 14F
08/19 03:33, 14F
→
08/19 03:34, , 15F
08/19 03:34, 15F
→
08/19 03:34, , 16F
08/19 03:34, 16F
→
08/19 03:35, , 17F
08/19 03:35, 17F
→
08/19 03:36, , 18F
08/19 03:36, 18F
→
08/19 03:36, , 19F
08/19 03:36, 19F
→
08/19 03:40, , 20F
08/19 03:40, 20F
→
08/19 04:01, , 21F
08/19 04:01, 21F
→
08/19 04:01, , 22F
08/19 04:01, 22F
→
08/19 04:02, , 23F
08/19 04:02, 23F
→
08/19 04:29, , 24F
08/19 04:29, 24F
→
08/19 04:30, , 25F
08/19 04:30, 25F
→
08/19 04:31, , 26F
08/19 04:31, 26F
→
08/19 04:31, , 27F
08/19 04:31, 27F
→
08/19 05:58, , 28F
08/19 05:58, 28F
→
08/19 05:58, , 29F
08/19 05:58, 29F
→
08/19 06:02, , 30F
08/19 06:02, 30F
→
08/19 06:05, , 31F
08/19 06:05, 31F
→
08/19 07:20, , 32F
08/19 07:20, 32F
推
08/19 07:27, , 33F
08/19 07:27, 33F
→
08/19 07:28, , 34F
08/19 07:28, 34F
→
08/19 07:30, , 35F
08/19 07:30, 35F
→
08/19 07:30, , 36F
08/19 07:30, 36F
推
08/19 08:24, , 37F
08/19 08:24, 37F
→
08/19 08:25, , 38F
08/19 08:25, 38F
→
08/19 08:26, , 39F
08/19 08:26, 39F
推
08/19 08:37, , 40F
08/19 08:37, 40F
推
08/19 08:40, , 41F
08/19 08:40, 41F
→
08/19 08:41, , 42F
08/19 08:41, 42F
→
08/19 08:43, , 43F
08/19 08:43, 43F
→
08/19 08:46, , 44F
08/19 08:46, 44F
→
08/19 08:48, , 45F
08/19 08:48, 45F
→
08/19 08:49, , 46F
08/19 08:49, 46F
→
08/19 08:51, , 47F
08/19 08:51, 47F
→
08/19 08:53, , 48F
08/19 08:53, 48F
→
08/19 08:55, , 49F
08/19 08:55, 49F
→
08/19 08:56, , 50F
08/19 08:56, 50F
→
08/19 08:56, , 51F
08/19 08:56, 51F
推
08/19 09:22, , 52F
08/19 09:22, 52F
→
08/19 10:05, , 53F
08/19 10:05, 53F
→
08/19 10:05, , 54F
08/19 10:05, 54F
→
08/19 11:17, , 55F
08/19 11:17, 55F
→
08/19 13:59, , 56F
08/19 13:59, 56F
推
08/19 17:17, , 57F
08/19 17:17, 57F
→
08/19 17:18, , 58F
08/19 17:18, 58F
→
08/19 20:36, , 59F
08/19 20:36, 59F
→
08/19 21:54, , 60F
08/19 21:54, 60F
→
08/20 00:40, , 61F
08/20 00:40, 61F
→
08/20 18:24, , 62F
08/20 18:24, 62F
→
06/20 11:37, , 63F
06/20 11:37, 63F
→
06/20 11:38, , 64F
06/20 11:38, 64F
→
06/20 11:40, , 65F
06/20 11:40, 65F
討論串 (同標題文章)