搞对象千万要注重对方身材-亲身体验一则

来源:互联网 发布:windows kit 编辑:程序博客网 时间:2024/04/30 23:32

在并不遥远的上个世纪的中国,谈恋爱还被称为“搞对象”,一个土得掉渣的名字,估计90后的同学们都未必听说过这个词。后来不知为什么,也许是西洋化了吧,这个叫法逐渐地淡出了,“对象”也迅速地被“男朋友”、“女朋友”、“恋人”甚至“情人”所替代,谁要是还称自己的恋人为对象,必定会令人“刮目相看”。而到现在为止还在搞对象的,就只剩下一个人群了:程序员。

好吧,我是标题党,你可能被忽悠了,标题中的对象是OOP中的术语Object。但请相信一点,其实这两者也颇有相似之处。

由于雄性荷尔蒙和视觉审美的综合作用,男生们在选择女朋友的时候,基本都希望对方有一个优美的女性曲线,就是一副好身材,那种吃喝无度身材臃肿的女孩儿多半是无法吸引男生的。同理,女生对男生也有类似的心理期待。这应该是人之常情吧。但是,不知为什么,很多程序员在玩OOP的时候,却往往出现相反的选择:搞出一堆臃肿、繁复、冗长、拖沓的对象来。要么是超级巨大的class,有无数个包罗万象的方法,要么是超级冗长的方法,以一当十。为什么同样的一个人在现实世界和程序世界里搞对象的表现却判若两人呢?

虽然我发现了这个现象,但原因还是没能找得到,因此至今仍百思不得其解。有很多次我偶尔回看自己从前写过的一些OO的代码时,会很不解地问自己:为什么把这些不相关的东西统统地放在这个对象里?岂有此理?也看过很多别人的OO代码,也曾频繁的发现类似问题,该有的不该有的全有,该管的不该管的全管,大而全的对象比比皆是。唉。。。

尽管未能发现根源,但是我找到了一个避免的方法:那就是在程序世界里搞对象的时候,也似在现实世界中一样,用挑剔的、审美的眼光去审视每一个类。但凡是发现臃肿之处,绝不姑息,动手术去休整,尽最大努力务必作出一个优美的S曲线来。

最后,想把这个心得体会也共享给同样在OOP世界里搞对象的同仁们,在你设计class的时候,最好把她当成是你程序世界里的女友一样来审视,除了功能以外,务必要秉持美学观点来选择和修整。而且记住,你一定要娶她、和她长相厮守并对她的一生负责到底的。否则,你的随意将使你付出巨大代价,就如同一辈子永远生活在一群丑婆娘中间。