勤劳一些的同学应该会经常的去看其它人的代码,经常会发现明明很简单的需求,但代码的具体实现却写的很复杂,这是为啥呢?
面对这种问题,我一般会回复说,“为了应付各种不同的情况”。
但是实际工作中,许多情况确实不是人的意志为转移。例如代码的烂掉,刚开始的时候,我或是你或是其它的人,会把代码的结构设计的尽量的ok,可扩展,可修改,让它尽量的可以面对或满足各种不同的工作场景。
但随着时间的推移,我们没有办法去预测需求。所以事实上我们并不知道,这个代码在未来的时候会处于什么样的工作场景。而需求的产生,是因为用户的需求,大家都知道,在现如今的互联网时代,用户是很没有耐心的。如果你不能在最短的时间内满足他的需求,他就会跑到别人的碗里。
所以,如你所见,所有的需求都是很急,所有的需求都要以最快的速度来完成。这也就直接造成了,新添加的代码并不能像之前那样的充分设计。而是以快速的满足用户需求,完成工作任务为目的。
各种代码就像在墙上打的补丁一样,一块一块的慢慢加上去了。时间一长了,再一看这个代码,就会发现这代码怎么这么乱,这么复杂。
更为要命的是前任的代码,前任的代码,本身就已经是打满了各种补丁。而且里面逻辑都是各种交织,在这种情况下,你所能做的,也只是打上一个新的补丁。
直到版本更新,或是你也走人,或是公司解散,或是产品死亡,除了这些可能性之外,我个人以为,随着时间推移,代码的烂掉,似乎是不可避免的。