32 时间改变一切

来源:互联网 发布:水晶报表 java 编辑:程序博客网 时间:2024/05/16 01:14

我喜欢随着时间的流逝观察哪些事物会被淘汰,哪些能保存下来。自诩聪明的众曾经怀着激情提出过那么多的模式、框架、范式转换和算法,哪一个不是声称可以一劳永逸地解决所有已知问题?结果都不过是昙花一现。为什么会这样?历史在向我们暗示什么?

选择值得投入精力的工作

这个要求对软件架构师来说有些棘手。问题和任务总是给定的,我们没有选择的余地,不是吗?并非这么简单。首先,我们常常误认为自己无法左右交给我们的任务。其实我们可以,只不过这要求我们从舒适的技术领域里迈出来。如果不选择做正确的事情,会为将来埋下隐患。随着时间流逝,我们勤勤恳恳、兢兢业业地完成了给定的任务,最后却发现做得毫无意义:因为实现的不是真正的需求,白费工夫。漂亮的解决方案搭配正确的任务,才能经受时间的考验。

简单原则

人们反复念叨KISS原则,把它挂在嘴边,却没有身体力行地去遵守。大家不遵守是因为觉得没有必要。我们自认为,可以应付复杂的问题,而且轻易就能找到各种借口替自己的行为辩护:例如为了增加设计的灵活性,为了让设计更优雅,或者为了更符合我们对美感的要求。我们相信自己能够预见未来。但随着时间流逝,当我们回顾一年以前甚至更早的项目时,几乎都会惊诧自己当初的做法。如果有机会再做一次,我们会以更简单的方法来完成。这就是时间的作用,时间让我们的行为变得可笑。越早醒悟越好,别再自以为是,用时间的放大镜仔细研究简单原则的真正涵义吧。

别跟以前的工作过不去

架构师们喜欢寻找“真正的解决途径”:可以提供明确答案、具有预见性的方法论或思想流派。但似乎总也找不到。问题在于,你现在看重的设计思路,可能两三年后就会被自己否定,更不要说十年。当你回顾过去的工作时,永远会觉得以前的设计和自己的期望有差距。学着接受以前的工作吧,克制自己回过头去修改的冲动。那个解决方案适合吗?它能不能解决需求?把这些问题当作今后的工作标准,你的心情会好很多。