代码的历史局限性

越来越多的人在谈极限开发,结对编程,测试驱动。人们以今天的标准,审视着往日的代码,嗤之以鼻。然而,当今的规范并非横空出世,它是经历了计算机科学,互联网技术发展的不同阶段,而逐渐演变成如今的样子。一个时期的代码,有着那个时期的历史局限性,不是人们不想写单元测试,而是根本不知道什么是单元测试。

一天,我和一特别执着的程序员聊工匠精神,说他执着,是因为头发都白了,他还在写代码。话不到两句,就开始抱怨代码中的种种不是。因为他开始的早,我好奇的问,你刚开始写代码的时候知道单元测试吗?他说,谁去管单元测试,内存那么丁点,先把代码写进去,能运行再说。

虽然我的问题略显愚钝,我却突然想通了一件事。因为我身边的这位执着的程序员,不是他不懂得工匠精神,也不是不知道单元测试,而是那时候,它们根本不存在。我们不能因为今天有高铁,就看不起当初的小推车。所处的历史环境不同,满足的需求不同,实现的方式当然也就不同。因此我们得去学会体谅这些历史局限性。

然而,懂得体谅并不意味着忽视问题。小推车被高铁取代了,而没有单元测试的代码,却依然充斥在我们的软件中,阻碍着我们前进的步伐。而谁又能确定,我们如今所崇尚的编程方式,设计原则,不会成为明天大家的笑谈?我们是不是也活在我们的局限性里?文字到这,我只看到了四个字,与时俱进!