没有写错吧?
设计难道不应该追求完美吗?明知有缺陷,又怎能“视而不见”,甚至”有意为之“?
这里“缺陷”的含义是:
如果某种设计在特定的情境下使用,不会有任何问题;而换成其他情境下使用,则可能出现错误。这种错误是设计缺陷造成的。
为什么允许”缺陷“的设计?
因为我们不需要”零缺陷“的产品。
在设计普通家用电视的时候,为什么不考虑:如果用户把电视放在水里看,该怎么办?
这样考虑真可笑,不是吗?
任何产品都存在“缺陷设计”。因为任何产品都有“适用场合”。
因为我们都有一个共识: 任何产品都仅仅是为了满足某一种或几种特定情境下的特定需求而存在的。脱离了预先设定的适用场景,就无法保证完成预定的功能。
=========================================================================
Actionscript的UI组件库应用在网络应用的前端界面上。
硬性指标是体积尽量的小。
该组件库的设计中,就要允许”缺陷“的存在。
比如按钮组件的构造函数的参数:宽度,高度
是否有必要对这两个参数进行负值的判断?
在组件内部使用宽度和高度的时候,是否有必要进行负值和零的判断?
如果该按钮有严格的使用守则、使用方法,则可以从按钮的代码上”有目的地“减少代码,达到减小程序体积的目的。
当然,如果不严格按照使用方法,不遵守使用守则,会产生错误,或者说产生”缺陷“。
这种情况的发生,是”人祸“。