在实践中遇到一个问题,就是经过良好设计而实现的代码,大家会觉得不容易看懂,而平铺直述的反而易看。
我分析这是一个很正常的现象,原因是未设计而出的代码是按人的正常思维平铺直述的,所以大家容易看,这些代码常有些共性:即冗长、重复的现象常见、基本没有职责单一可言、比较扁平、以过程化为即使是C++写的。
为何经过设计的反而不容易看了?
这个就好比建筑一样,如果没有设计图,如同走迷宫,容易迷路,因此在看有着良好设计的系统代码时,需要参照设计图来,这样就会势如破竹。
怎么是一个好的设计?没有设计的好比一个混乱的公司。一个项目人员超多,经理经常需要和最基层员工打交道,总之大家之间的职责不明确,大家之间的关系也是随意的,没有明确定义的。
再比如一个大公司,大家可能不知道具体有多少个部门,具体有多少个产品等,但如果这大公司只划分成10个以内的部门,估计大家都记得住,但是这样行吗?