Re: [討論] 因為空格~我離開了一間公司

看板Soft_Job (軟體人)作者 (阿川)時間11年前 (2014/09/08 00:46), 編輯推噓8(807)
留言15則, 9人參與, 最新討論串13/21 (看更多)
你提到的「避免太多層」 就是所謂的nested structure 而你的改良方案 稱之為guard clause google這兩個詞 會有許多的討論可以參考 關於兩種寫法 我的心得大概是: 程式碼的外觀其實直接說明了某些事情。 guard clauses的code看起來就像在說:如果發生這件事,趕快處理完、然後滾吧。 一串if/else if/else像是在說:你看,各個情況都一樣重要、 所以大家都在一樣深層的巢狀結構裡面,真正重要的code跟某些狗屁情況一樣重要, 所以他們一樣在這恐怖程式碼的內部第N層! 到底該怎麼寫還是看實際情況。不妨都試試,看當下哪個適合? 我之前思考這個問題時 有打出一整篇網誌 http://blog.turn.tw/?p=83 供您參考 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.87.8.254 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1410108366.A.846.html

09/08 01:17, , 1F
推!
09/08 01:17, 1F

09/08 01:21, , 2F
push~
09/08 01:21, 2F

09/08 03:06, , 3F
推個 我工作後都用grard clauses 結果資深同事覺得不
09/08 03:06, 3F

09/08 03:06, , 4F
容易懂 我才發現不是這樣用就是好
09/08 03:06, 4F

09/08 04:03, , 5F
推網誌
09/08 04:03, 5F

09/08 04:44, , 6F
推blog
09/08 04:44, 6F

09/08 08:26, , 7F
推網誌 表達的簡單, 有趣, 有料 :D
09/08 08:26, 7F

09/08 12:07, , 8F
Guard Clause 不一定比較好, 特別是有優先權問題時
09/08 12:07, 8F

09/08 12:08, , 9F
例如 init A -> init B -> initC
09/08 12:08, 9F

09/08 12:08, , 10F
然後有人在 init B 後面插入 init C
09/08 12:08, 10F

09/08 12:09, , 11F
D
09/08 12:09, 11F

09/08 12:10, , 12F
但是 C 若失敗了會造成 D 出問題
09/08 12:10, 12F

09/08 13:45, , 13F
exception其實不一定完全比較好,有些看法認為
09/08 13:45, 13F

09/08 13:45, , 14F
大量的non local jump會造成資源管理或trace不容易
09/08 13:45, 14F

09/10 23:27, , 15F
寫了兩年的guard clause 才發現原來叫這名字 我覺得很直覺~
09/10 23:27, 15F
文章代碼(AID): #1K38lEX6 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1K38lEX6 (Soft_Job)