饥饿的码农 - 如何解决吃饭问题?

2012年01月19日 10:50    发布者:1770309616
新闻来源:  oschina
编程就像是吃饭。今晚我加班,有点饿,没有厨房,没有小吃。环顾四周,我只看到街角的麦当劳。于是我就面临了一个选择难题,我是现在去吃垃圾食品来填饱肚子呢还是再忍一忍,然后回家吃一顿健康的?在我思考这个问题的时候,我不由自主的将这个问题和代码的质量联系了起来。

健康的饮食是连续非离散的?

显然吃麦当劳不是健康的饮食。但是吃麦当劳巨无霸的时候,配色拉要比配薯条健康一点。去星巴克买一个金枪鱼面皮卷显然要比任何麦当劳套餐健康。去当地的小店喝一碗热汤显然要比星巴克的金枪鱼面皮卷健康。当然,自己在家做一顿新鲜的晚餐比上述的任何饮食都要健康。

这里有两点:

1. 任何东西都是相对的。你总是可以做的更好或者更差。吃巨无霸不等于自杀,但是整天不吃饭就等着回家的新鲜晚餐也是不健康的。

2. 每顿饭都是独立的。我今天吃了麦当劳并不代表我明天也要吃麦当劳。通常情况下,每一顿饭吃什么的决定都是一个独立的判断。

代码如食物

和食物一样,代码的质量也是连续的。

简单的来讲,没有经过测试,没有文档的代码要比有测试和文档的代码的质量低。但是事实往往比这个复杂,就像是一滩浑水。每个人都有他们自己的标准来判断代码的好坏。有些人很清楚自己的编程习惯和问题,也懂得如何改进。而有些人则一直在写着垃圾代码,并不考虑他们的代码是否健康。

做健康的选择

像对待食物一样来对待代码。

就如你必须得吃东西一样,你必须得提交代码。但是你怎么吃或者怎么提交将会产生短期和长期的影响。

如果你采用麦当劳式的方法,那你就是发布了垃圾代码,但是满足了短期的需求。但是你会尝到长期的恶果。你的代码将难以维护,不会拥有健康的未来。

如果你采用自己做饭的方法,那你就必须忍受一段时间的“饥饿”。短期来看你是饿着了,但是长远的来看,效果是正面的。

如何做决定?

编写健康的代码和健康的饮食有相同的要求:意识到并且坚持做。从吃垃圾食品到吃健康的食物需要首先意识到吃的东西可以改进。要执行这个改进,你需要坚持你的决定。编程也是一样的。

不管怎样,你的选择必须实用。你必须得吃东西,你的代码在将来的某个时刻必须提交。在没有选择的情况下,麦当劳也得吃。就如很多时候,你必须提交写的像狗屎一样的代码。但是请记住,健康的编码是连续的。在不能完全达到“健康”的状况下,你可以改进一点点,就如吃巨无霸的时候可以配色拉,而非薯条。

世界上没有最健康的实物。任何东西在进到你胃里之前,对你都没有任何好处。同样的,代码质量是很重要,但是你不发布你的代码的话也是一无用处。

增量改进你的代码是不错的选择。每天进步一点点,而不是推翻重来 :)