it步行者

天地间有我在行走。
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

程序员该做的事(二)

Posted on 2006-09-08 23:13  itwalker  阅读(2423)  评论(19编辑  收藏  举报
四、保持正确的程序思维和良好的开发习惯
据说电影《黑客帝国》是拍给程序员看的,因为很多人看不懂里面的情节,而要看明白也很简单:不要把自己当人,你需要把自己看做一段程序。这是最娱乐的程序思维。

对于正确的程序思维,我个人观点是,从微观角度,不要想当然的认为你的代码理应是怎么样的结果,而要从你期望的结果来推算程序该是什么样的,这样的程序执行的时候不同的对象会开辟什么样的内存空间、它们的生命周期会经历哪些阶段,寄存器在某行代码运行时分配情况大致是什么样子,操作系统这时会做怎样的进程调度,垃圾回收什么时候将如何进行等等。

宏观的说,实现一个功能,如果只能找到一个方法和途径,一定会遇到重重障碍并且实现得苦不堪言,最后可能还需要别人来当消防队员救你出火海。如果能找到2个以上的方法和途径,即使遇到重重障碍仍然会游刃有余,不过,如果每次你都在2个以上的方法中优先选中最笨重的方法、最曲折的途径或是最后才找到正确的方案,程序思维可能仍然不够正确。
简单自测一下,对于一个布尔变量bFlag:
bool bFlag=true;
如果觉得:
if (bFlag==true)
    ...
和:
if (bFlag)
    ...
没有什么区别的话,说明程序思维还可以进一步提高。

再说开发习惯,这不是一朝一夕或是看一下编码规范就可以做到的,特别是在IDE越来越傻瓜化的情况下,如果没有正确的程序思维,要做到正确的习惯就已经有难度了,良好的开发习惯,不仅仅是如何给变量、函数、类命名,如何缩进,如何做好代码注释,如何捕捉和处理好每一个异常。记得以前看过一本书,《高质量C/C++》编程,不管是不是要写C/C++代码,这本书是一本理解程序的好书。

此外,不论开发中使用了VSS还是CVS或是其它版本控制工具,如果使用起来一直觉得别扭和不自在,或者时不时发现同一份代码没有签出的时候,在本机上和版本控制服务器上的内容并不一致,那仍然说明良好的开发习惯还可以进一大步培养。

五、站在用户和QA的角度编码
对于开发来说,程序员自己就是软件产品的第一个用户,很多时候,程序员自己很满意的东西用户不见得接受,但是自己都不满意的东西用户能完全接受并且很满意的情况一定是极端的个例。站在用户的角度编程,每完成一个功能或产品,你的第一反应会是,如果我是用户我会不会接受,还有没有问题,这种思维往往会让你有新的发现和收获;而不会是伸个懒腰对自己说,搞定,收工,然后暴走而去。这样的结果往往是留给测试人员一堆抓狂的bug。

站在QA的角度编程。你看到自己一天前的代码有什么感觉?一周后看有什么感觉?一个月之后再看有什么感觉?我的体会是,看自己写的代码,当时感觉最好,一天之后看感觉有可以改的地方,一周之后看发现有许多可以改的地方,一月之后再看就开始怀疑,这是我写的吗?今是而昨非,带着挑剔的眼光来检查代码,自己就可以发现问题。
 
六、积极的思考大胆的交流快速的学习高效的做事
第六点的这一行是一口气写出来的,写完想了想,把最后“正确的做事”改成了“高效的做事”。

这几点简单直白到不用做任何解释了,只说最后一个,修改的原因是,不能正确的做事,或是老找不到正确的做事方法,或是最后找到的方法才是正确的,我相信做出来的事很大程度都不会有效率可言,“高效的做事”,前提本身就包含着:快速找到事情的根本和正解,或者快速找到有效资源,然后,搞定它。

回过头来看上面主张的几点,并非是我已经把每点都已经做得非常好了,只是目前发现和遇到的项目组大多数问题都可以在这几点中找到原因和解决方法。广告说,大家好才是真的好。一点不假,如果每个程序员都能做好该做的几件事,最低程度,编码工作会变得轻松有趣得多。
 
热情期待大家的砖头和bs中。