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