今天继续修炼,感觉作者特别喜欢隐喻,因为隐喻生动形象直击人心,作者还喜欢讲故事:
夜深了,天很黑,下着倾盆大雨。一辆双座汽车在弯弯曲曲的山间小路上来回急转,几近失控。这时,出现了一个急转弯的提示牌,汽车错过了它,撞向稀疏的护栏,冲入下面的山谷后燃起大火。赶到现场的那些交警里,有个高级警官惋惜地摇着头说:“一定是冲出了前灯。”
超速行驶的双座汽车是不是跑得比光速还快?当然不是,没有什么能超过光速。这名警官提及的是,司机在前灯照射范围内及时停车或控制方向的能力。
前灯有一定的照射范围,被称为投射距离。过了临界点,光的扩散就会太分散,难以维持效果。此外,前灯只在直线上投射,不会照亮任何偏离轴线的东西,比如道路上的急转弯、山丘或斜坡。据美国国家公路交通安全管理局称,近光灯照射的平均距离约为 160英尺。
不幸的是,时速 40英里时的停车距离是 189英尺,时速 70英里时的停车距离是464英尺[所以事实上,你很容易就会超出前灯范围。
其实软件开发也是一样,如果我们考虑了未来的各种可能性,很可能就把程序写复杂了,然后这样复杂的设计和代码可能在大部分时间里都没有发挥它的价值,这就是浪费!,就像你花了钱,但是东西没到手,而且很可能很长一段时间都到不了手。
除了浪费,代码是需要维护的,简单的代码容易维护,而复杂的代码非常难以维护,不仅难以维护,而且容易出bug,出TT,就像会出车祸一样~
好的代码其实是不断迭代和重构出来的,并不是一开始就构思好的,因为你很难预测未来,只能在满足当前的需求之前保持简单,在有新的需求和代码改动时不断审视和反思已有的设计和实现,因为如果不停下来反思,可能车灯都会坏掉~
印象最深的就是当年设计模式流行的时候,大家习惯性地思考要用什么样的设计模式去实现BA的需求,现在看来,那些可能的灵活性现在都么有用到。。。
网友评论