欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-14 14:57:14
...

1. 认为“简单原则”,就是不加认真思考,制作最简单易于实现的系统。

殊不知真正的简单是深思熟虑之后得到的结果。要多视角考虑,并且,必要时还需要跳出来思考,避免钻牛角尖,这样,才可能拿出真正简单有效的方案。

2. 对于难以实现的需求,而不是认真客观地认识和挖掘他们,然后根据可用的技术和资源,找出合理的解决方案,而是否认这些需求的存在。

这样往往实现的功能不能满足真正的需求,导致在系统的各个方面都要处理特殊问题(Special Case),这样,一个系统充满处理特殊逻辑的代码,系统开始变得不易维护和扩展。


3. 每次使用算法,就自认为需要处理的数据量肯定巨大,性能要求极高。

前不久,同事为了设计一个需求,需要去除数组里为空的数据和重复的数据,为了得到极好的性能,进行了大量的研究。然而这个功能并不常用,而且数据量不大,数组的元素经常是少于3个的,最多也没有多少,结果花费了大量时间,做出来的东西对于处理这种极少量的数据反而性能并不理想。


4. 往往纠缠于那些不经常使用的功能,而不是经常使用的功能。

出现这种问题的原因是:因为经常使用的功能相对于那些不经常使用的功能稍微简单一点,这样,为了那些不经常使用的功能改变了系统、设计结构,不经常使用的功能易于实现,而经常使用的那些功能却难以实现,影响了正常功能的使用。


5. 认为使用了面向对象的语言,就设计出了面向对象的系统。

其实不然,大多数系统仍是过程式思维设计出的结构,未能使用到面向对象带来的易扩展,易维护,易重用等好处。


6. 认为使用了设计模式就是好的设计,拼命地把各种学到的模式生搬硬套到系统。

刚开始还从需求入手,但是逐渐地,为了使用设计模式,使要解决的问题偏离和真正问题,臆想出不适合的或者根本不存在的需求。


7. 我们需要的是有智慧的程序员,而不只是聪明的程序员。

聪明的程序员会把某一方面做到了极致,而有智慧的程序员还需要从各个方面做权衡,最终得出合适的解决方案,不仅Think,还需要Think Different(不是Think Differently):   

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

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

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

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