开发的过程中难免会遇到问题,有时一个问题会卡着你很长时间,我想这样的时候就很考验一个程序员的素养。但是素养这东西并没有定论,作为一个执著专注的程序员,或许以钻牛角尖的方式将一整天的时间用于解决问题是正确的。但是如果把眼光放大点,从一个项目,一个团队的出发点思考这个问题,你需要耗费很多时间的问题,可能其它人只需要很少的时间就可以解决,或者换一个时间,你会悄然大悟,迅速想出解决之道。
今天在被防火墙的地址转换问题困扰了一天后,我突然想明白不能再以这种方式持续下去,我没有过多的时间可以浪费,我需要放眼全局的方式来考虑问题,就像考试时不能被一道解不开的题拦着一样。遇到难题时,给自己一个解决的期限,过了这个期限,就将其暂且放下,过后寻求他人帮助或者寻找替代方案。
真正重要的是把事情做出来,而不是在技术上达到完美。今天的计算机系统已经过于复杂,我们永远不可能弄清问题的每一个细节,这就像我们成年之后的生活一样,我们需要面对复杂的智慧。