很多人都不喜欢代码,或者编写代码。可能觉得写代码过于枯燥,无聊,也可能觉得写代码实在是件简单得事情(高手们都这么想),毫不值得去拥抱它,甚至还有些人包含功利的想法。我也是有这样得毛病,不得已,为了培养对代码的好感,想尽办法找了些代码的好处。
代码的第一大好处:实现软件产品。呵呵,真是废话,不过的确是首要得好处
代码的第二大好处:在项目计划阶段,可以用来估算。通常得做法是按照代码行来估算。比如,这个7人团队以往的历史记录是平均每人,每天可以完成100行代码,此项目估计总代码行为7万行,那就大概要三个月才能完成。我曾经在的一个公司在让老外评估cmm2,老外看了一下我以前参与的一个项目,每天能完成400行!!,当时老外就说,”公司有这样得水平,我看cmm2不用过了,直接去评cmm5吧“,哈哈,写代码的确是件辛苦的事情,尤其是对中国程序员来说。那帮作计划的混蛋!
代码的第三大好处:用于交流。毫无疑问,代码是最不会产生歧异的语言。如果你的口才不好,你就可以这样说:“我现在也表达不出来,不过,你看我给你写一个类。。,它有这样的方法,可以接受我们刚才谈的那个系统变量。。”,瞧,我想任何人听了这样的表述,都能明白同伴的想法了。
代码的第四大好处:用于设计,通过代码实现,又可以印证,修改设计。基于前面一个观点,直接构造一些伪代码来完成设计,这样的代码肯定是能被所有开发人员所理解的。不用写令人烦恼的文档和花哨的设计图形(当然,以后肯定是要补充的)。另外,设计的预研有时候就必须用代码来验证次设计,我有次做公司某个产品,当时设计的时候是这么说的:“呕,当系统接受到参与者发出的xml消息的时候,就通过xxx工具将xml消息转化为java对象,java对象在系统内部互相交互,如果需要响应参与者,那将该对象传给yyy工具(xxx工具,yyy工具都是有名的开源软件,但我刚开始并不熟悉其用法),yyy会自动将对象转化为xml消息并发送给参与者的”。瞧,多么轻松的设计。然而,就是因为这个在后期开发中发现用到的俩个工具并不象传说中的那么“神奇”,而导致系统重新设计。代码开发者有时候会抱怨给设计人员擦屁股,其实,这是要一分为二的来看待,有时候的确是因为设计人员因为能力,或者马虎原因没考虑到。但有些情况下的却是项目发生变化,设计需要更改。解决问题的关键还是共同协商,抱怨只能让心情平和一些。同我共事的一个扎俩个小辫子的姑娘就有这样得好脾气,常常在实现代码的时候叫我“monkey,瞧,这个接口没法实现,因为pass进来的对象少定义了一个关联字段”,我会说:“呕,我忘定义了,马上就补充”。
代码的第五个好处:良好得代码命名规范省去了为代码写注释的必要,比如Boolean.valueOf().再比如,ProductSpecification.createInstance()等,你可以参考java style这本书获得更详细得信息 。
代码第六大好处:用于测试。可以通过编写单元测试来保证系统的质量和增强自己的信息。通常,你可以用JUnit工具帮助你完成,关于单元测试的文章很多。在此就不多说。不过我有一个诀窍可以与大家分享,就是在阅读源码的时候,比如apache上的,你常常可以阅读它的测试的代码了解哪些类是系统重要的类,以及了解如何使用该工具。
代码的第七个好处:物证,整人的证据。代码是公正的,我和一同事在讨论代码的好处的时候,他告诉我,如果哪个人在唱歌的时候老霸着话筒不放,那下次代码走查的时候,大伙就专挑他得错。哈哈,开玩笑,千万不要用这个好处整人。
代码的好处有这么多,发生在系统的计划,分析设计,实现,测试当中,还能整人!!!不知道你看了后有什么补充没?不过,我相信,你肯定会去拥抱你亲爱得代码的,^_^。
我这些思路来源于xp,以及和同事的讨论