Topic: 读代码有感

  Print this page

1.读代码有感 Copy to clipboard
Posted by: haibo
Posted on: 2008-11-26 12:18

最近读了一些同事写的代码,其实就是个简单的功能块,,发现被他写的又是接口,又是工厂模式什么,看了好几个类和接口后,东找西找才明白最后要做的事是什么,真是让人啼笑皆非,模式也被滥用了。其实这么简单的一个功能块,你就以最简单的方式写出来不就行了,这样硬套模式,反而让人摸不着头脑。写到这里可能有人拍砖,说就怪老汉我不懂模式,与同事交流起设计来没有“共同语言”,然而老汉我真的就不喜欢这种把简单问题复杂化的方式,一段本来几十行代码就能解决的事情,非弄得几个类和接口来协作,我觉得一方面是可读性不太高,另一方面是执行效率不高,新类的装入与垃圾回收,不必要的函数调用其实都是一笔开销。
写到这里,估计还有一部分人认为这时候应用模式应该是对的,我们姑且不谈这个,想想模式的初衷是什么:易扩展,减少copy&paste提高效率,易读性。这里除了“易扩展”,其他两项应用到这里很明显是牵强的,再说几十行代码就能解决的东西谈扩展性,我觉得是没事找事。
把简单的事情搞复杂,很多人都很擅长,但是把复杂的事情搞简单的人却很少。不禁让我联想到一个人和一间房子,房子空空的就一个人住,日常用的东西很少,可这人非要把这些东西分门别类的放到不同的房间去,,每天用的时候各个房间乱跑,,,其实他只要放到一个房间里就行了,伸手即取,,,,
总结:模式应用要遵循他的初衷--易扩展,提高效率,易读,,,不可滥用

其实我相信,好的模式是从你的现有代码里提炼出来的,,一开始建工程,建类,建功能模块时就使用模式,,你一定要再三斟酌是否有必要

2.Re:读代码有感 [Re: haibo] Copy to clipboard
Posted by: xuxiaolei
Posted on: 2008-11-26 16:06

不要为了模式而模式,有需要才用

3.Re:读代码有感 [Re: haibo] Copy to clipboard
Posted by: iceishot
Posted on: 2008-11-29 13:33

我总结的应用模式的时机:

当要复制代码时-即重用时
当要修改代码时-即扩展功能时
当要分解大类时-即重构时

一般来说,除非非常熟悉的功能代码可以在着手前就考虑模式设计,否则直接写好了,不要让设计拖延了思路的速度。

4.Re:读代码有感 [Re: haibo] Copy to clipboard
Posted by: demander_huang
Posted on: 2008-12-20 20:31

我是作二次开发的,模式用得相对较少。
不过我觉得模式知道就好,代码是在需要时才重构成模式。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2018 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号
客服电话 0592-8750026    客服信箱 714923@qq.com    客服QQ 714923