注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

(转载)吃"软饭"的一些不良思考习惯  

2012-01-31 15:23:52|  分类: UML+设计模式 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

吃"软饭"的一些不良思考习惯

http://blog.csdn.net/co0der/article/details/7187170
分类: Java 面向对象 模式 2012-01-09 13:52 266人阅读 评论(1) 收藏 举报

1. 认为“简单原则”,就是不加认真思考,制作最简单易于实现的系统。
殊不知真正的简单是深思熟虑之后得到的结果。要多视角考虑,并且,必要时还需要跳出来思考,避免钻牛角尖,这样,才可能拿出真正简单有效的方案。
2. 对于难以实现的需求,而不是认真客观地认识和挖掘他们,然后根据可用的技术和资源,找出合理的解决方案,而是否认这些需求的存在。
这样往往实现的功能不能满足真正的需求,导致在系统的各个方面都要处理特殊问题(Special Case),这样,一个系统充满处理特殊逻辑的代码,系统开始变得不易维护和扩展。
3. 每次使用算法,就自认为需要处理的数据量肯定巨大,性能要求极高。
前不久,同事为了设计一个需求,需要去除数组里为空的数据和重复的数据,为了得到极好的性能,进行了大量的研究。然而这个功能并不常用,而且数据量不大,数组的元素经常是少于3个的,最多也没有多少,结果花费了大量时间,做出来的东西对于处理这种极少量的数据反而性能并不理想。
4. 往往纠缠于那些不经常使用的功能,而经常使用的功能。
出现这种问题的原因是:因为经常使用的功能相对于那些不经常使用的功能稍微简单一点,这样,为了那些不经常使用的功能改变了系统、设计结构,不经常使用的功能易于实现,而经常使用的那些功能却难以实现,影响了正常功能的使用。
5. 认为使用了面向对象的语言,就设计出了面向对象的系统。
其实不然,大多数系统仍是过程式思维设计出的结构,未能使用到面向对象带来的易扩展,易维护,易重用等好处。
6. 认为使用了设计模式就是好的设计,拼命地把各种学到的模式生搬硬套到系统。
刚开始还从需求入手,但是逐渐地,为了使用设计模式,使要解决的问题偏离和真正问题,臆想出不适合的或者根本不存在的需求。
7. 我们需要的是有智慧的程序员,而不只是聪明的程序员。
聪明的程序员会把某一方面做到了极致,而有智慧的程序员还需要从各个方面做权衡,最终得出合适的解决方案,不仅Think,还需要Think Different(不是Think Differently):   

I. 从系统的的各个方面,不同视角看待问题。   

II. 从目前的各种资源考虑,包括人力,物力资源。   

III. 从发展趋势考虑,设计可以扩展,容易改变的系统。   

IV. 跳出以前思考问题的固定思维模式。当一个接口的实现里充满了对于各种各样的special case处理,而不能跳出这些方面,对这些special cases进行更为泛化的分析,给出更为泛化的设计。


  评论这张
 
阅读(504)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017