[Engineering] 编程哲学(五):未雨绸缪

备选方案

[Engineering] 编程哲学(五):未雨绸缪_第1张图片

和优秀的人合作,很容易得到理解和体谅,因为他们对问题本来就有很多种解决方案,也都明白方案是灵活机变的。因此,互相怀疑对方能力,不能理解对方的处境,绝不让步,这些事永远都不会发生。

当我们面对困难的时候,如果我们除了仅有的一个选择之外别无它法,这往往不是一个好的状态。如果没有权衡的余地,就只能被动的接受一切,也就没有办法处理任何突发状况。

编写代码也是如此,如果我们一开始只有一种办法来实现功能,那么这通常不是一个最优的选择。实际上,我们应该不遗余力的寻找备选方案,未雨绸缪。

有失才有得

我听过很多人都呐喊着想做出改变,但是真正主动承受痛苦改变成功的却没有多少人。究其原因是,仅仅想要做出改变,还远远不够。任何改变不可能只是带来利益,而不需要付出沉重的代价。

所以,关键不在于人们是否愿意改变自己,也不在于人们是否能够战胜自己的习惯。而是在于愿不愿意为不确定的事情付出显而易见的代价,是否有能力承担风险。事情就是这样,我们会得到一些自己想要的,却同时又会失去一些我们不想失去的。

维持任何优雅的代码特征都是需要成本的,我们都想追求可维护性,可读性,又要保证性能和质量,还要按时完成,这几乎是不可能的。我们需要考虑的是,维持这些特性的成本是否值得投入,以及性价比有多大,是否有更重要的事情要做。

更上一层楼

[Engineering] 编程哲学(五):未雨绸缪_第2张图片

当我们视野不够的时候,总是容易表现得小肚鸡肠,对一些细枝末节斤斤计较。所以,最好先看一下较远的地方,再低下头来审视当前工作的价值。制定目标的时候也是如此,先想一下未来的样子,然后再将长期计划截断为短期计划。

在软件行业,新瓶装旧酒的技术方案受制于各种商业因素的影响,此起彼伏层出不穷。如果看不清发展趋势,我们当前努力打造的代码堡垒,会被潮流的更替瞬间击垮,凭添太多改造成本。所以,保持忙碌很重要,也要谨防忙碌的样子,正确的做事很重要,也要胆识做正确的事情。

意料之外还是意料之中

没有明确的目的,会让我们很难进行取舍。例如,保留一个已有的问题会节省时间,但是可能会使这个问题以后更难被解决,该如何选择?事实上,这取决于我们到底想节省时间,还是想避免以后的麻烦。

只有明确了目的,明确了某些做法是我们有意而为之,才会避免心理上的抵触。洁癖和强迫症才不会干扰我们,世界才能清静下来。

你可能感兴趣的:([Engineering] 编程哲学(五):未雨绸缪)