Posted on 2005-12-12 22:46
canonical 阅读(670)
评论(1) 编辑 收藏 所属分类:
设计理论
据说"Less is
more"是1961年宝姿品牌提出的设计理念,它开创了简约优雅的时尚风格。Unix系统的设计可以说也是这一设计理念的最佳体现。使用Unix工具,
读Unix系统源码,我们时时都能体会到一种简约之美。而Microsoft发放出来的源代码一般都相当冗长,变量名也长,这一度让我很反感。为了简化C
++中的COM编程,我不得不专门写了一个封装框架。
简约并不简单。例如,注释一般都是期望能够帮助理解的,应该是有益的。但注释太多就会干扰对程序的理解。这里关键就是能否提供有效的信息量。利用这一点,我们换一个角度看,多未必意味着复杂。例如,这样的一个函数调用
StupidFunc(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
显然不如
BetterFunc(userName:arg1, userMail:arg2, ...)
非常紧凑的调用可能需要极端强度的注意力和思考力的投入,即要求我们付出的更多才能够理解。Perl这样的脚本是可以紧致到变态的一种语言。
Microsoft的自动化组件支持命名参数,则大大简化了OLE编程。与此类似,xml动态脚本中的函数调用也是比较容易理解的,甚至比java函数调
用更容易理解。
<sendMail from="a@b.com" to="
c@d.com" text="hello" />
使用witrix平台中的SQL类写起SQL语句来虽然语句很长,但参数意义明显,并不容易出错。
很多时候都存在着某个最适尺度,偏离了这个尺度,我们就会遇上各种各样的"More"。不要画蛇添足,也不要削足适履。