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

作者: poopoo888888 (阿川)   2014-09-08 00:46:04
你提到的「避免太多層」 就是所謂的nested structure
而你的改良方案 稱之為guard clause
google這兩個詞 會有許多的討論可以參考
關於兩種寫法 我的心得大概是:
程式碼的外觀其實直接說明了某些事情。
guard clauses的code看起來就像在說:如果發生這件事,趕快處理完、然後滾吧。
一串if/else if/else像是在說:你看,各個情況都一樣重要、
所以大家都在一樣深層的巢狀結構裡面,真正重要的code跟某些狗屁情況一樣重要,
所以他們一樣在這恐怖程式碼的內部第N層!
到底該怎麼寫還是看實際情況。不妨都試試,看當下哪個適合?
我之前思考這個問題時 有打出一整篇網誌
http://blog.turn.tw/?p=83
供您參考
作者: tanson (Flash)   2014-09-08 01:17:00
推!
作者: ppc ( )   2014-09-08 01:21:00
push~
作者: ku399999   2014-09-08 03:06:00
推個 我工作後都用grard clauses 結果資深同事覺得不容易懂 我才發現不是這樣用就是好
作者: AmosYang (泛用人型編碼器)   2014-09-08 04:03:00
推網誌
作者: pest (這些分鐘妳有沒有想過我?)   2014-09-08 04:44:00
推blog
作者: ntddt (滅頂,降公投罷免門檻)   2014-09-08 08:26:00
推網誌 表達的簡單, 有趣, 有料 :D
作者: PoorLoser (廢文製造機)   2014-09-08 12:07:00
Guard Clause 不一定比較好, 特別是有優先權問題時例如 init A -> init B -> initC然後有人在 init B 後面插入 init CD但是 C 若失敗了會造成 D 出問題
作者: lmr3796 (Toro)   2014-09-08 13:45:00
exception其實不一定完全比較好,有些看法認為大量的non local jump會造成資源管理或trace不容易
作者: zased (我只是上PTT查資料)   2014-09-10 23:27:00
寫了兩年的guard clause 才發現原來叫這名字 我覺得很直覺~

Links booklink

Contact Us: admin [ a t ] ucptt.com