尽量用简单方法处理复杂问题

在大学里,用复杂的逻辑去解决问题。会让老师觉得这个学生很聪明,很有能力。

而在公司这样做,只会得到各种鄙视。


下面说说采用复杂逻辑解决问题的弊处:

1.可控性差。

当你的算法复杂了,很多边界问题和异常情况是很难考虑周到的,最后你会被各种段错误、踩内存、异常结果搞的焦头烂额。


2单元测试难进行

复杂的逻辑对应的一定是高耦合的代码,函数间关联太大,流程间相互依赖强,很多函数无法跑单元测试或是很难跑单元测试。


3.可扩展性和可维护性差

你很难保证一年后是谁来维护或是升级你的代码。就算是你自己来维护,你也很难保证自己在看这复杂的逻辑,还能记得自己设计这段代码的时候是怎么想的。更何况是别人来维护。在别人被你这复杂的逻辑绕的晕头转向的时候,说不定会开始破口大骂甚至重新来实现这块功能。


4.测试同事会缠着你

因为测试为你的功能写测试用例的时候,往往会一遇到不懂的就来问你,常常会带个凳子做你旁边问上个把时辰,而且常常问的是一些重复的问题(即使你概设和详设写得再详细),而你则只能放下手上的活耐着性子和他一遍又一遍的讲解(自作孽呀!)。而且吃饭、休息时间,测试同事往往会某个地方想不通了,然后找到你,然后各种....

到了联调后期,测试会相当欢乐,因为在你的这个模块他可以获得很好的绩效(提出大量的BUG)。


总结:问题尽量简单化,并用自己熟悉的方式去解决,要让别人一眼就能看懂你表达的是什么。


血和泪的教训,谨此为戒

你可能感兴趣的:(checklist)