很多人都不喜欢代码,或者编写代码。可能觉得写代码过于枯燥,无聊,也可能觉得写代码实在是件简单得事情(高手们都这么想),毫不值得去拥抱它,甚至还有些人包含功利的想法。我也是有这样得毛病,不得已,为了培养对代码的好感,想尽办法找了些代码的好处。
代码的第一大好处:实现软件产品。呵呵,真是废话,不过的确是首要得好处
代码的第二大好处:在项目计划阶段,可以用来估算。通常得做法是按照代码行来估算。比如,这个7人团队以往的历史记录是平均每人,每天可以完成100行代码,此项目估计总代码行为7万行,那就大概要三个月才能完成。我曾经在的一个公司在让老外评估cmm2,老外看了一下我以前参与的一个项目,每天能完成400行!!,当时老外就说,”公司有这样得水平,我看cmm2不用过了,直接去评cmm5吧“,哈哈,写代码的确是件辛苦的事情,尤其是对中国程序员来说。那帮作计划的混蛋!
代码的第三大好处:用于交流。毫无疑问,代码是最不会产生歧异的语言。如果你的口才不好,你就可以这样说:“我现在也表达不出来,不过,你看我给你写一个类。。,它有这样的方法,可以接受我们刚才谈的那个系统变量。。”,瞧,我想任何人听了这样的表述,都能明白同伴的想法了。
代码的第四大好处:用于设计,通过代码实现,又可以印证,修改设计。基于前面一个观点,直接构造一些伪代码来完成设计,这样的代码肯定是能被所有开发人员所理解的。不用写令人烦恼的文档和花哨的设计图形(当然,以后肯定是要补充的)。另外,设计的预研有时候就必须用代码来验证次设计,我有次做公司某个产品,当时设计的时候是这么说的:“呕,当系统接受到参与者发出的xml消息的时候,就通过xxx工具将xml消息转化为java对象,java对象在系统内部互相交互,如果需要响应参与者,那将该对象传给yyy工具(xxx工具,yyy工具都是有名的开源软件,但我刚开始并不熟悉其用法),yyy会自动将对象转化为xml消息并发送给参与者的”。瞧,多么轻松的设计。然而,就是因为这个在后期开发中发现用到的俩个工具并不象传说中的那么“神奇”,而导致系统重新设计。代码开发者有时候会抱怨给设计人员擦屁股,其实,这是要一分为二的来看待,有时候的确是因为设计人员因为能力,或者马虎原因没考虑到。但有些情况下的却是项目发生变化,设计需要更改。解决问题的关键还是共同协商,抱怨只能让心情平和一些。同我共事的一个扎俩个小辫子的姑娘就有这样得好脾气,常常在实现代码的时候叫我“monkey,瞧,这个接口没法实现,因为pass进来的对象少定义了一个关联字段”,我会说:“呕,我忘定义了,马上就补充”。
代码的第五个好处:良好得代码命名规范省去了为代码写注释的必要,比如Boolean.valueOf().再比如,ProductSpecification.createInstance()等,你可以参考javastyle这本书获得更详细得信息。
代码第六大好处:用于测试。可以通过编写单元测试来保证系统的质量和增强自己的信息。通常,你可以用JUnit工具帮助你完成,关于单元测试的文章很多。在此就不多说。不过我有一个诀窍可以与大家分享,就是在阅读源码的时候,比如apache上的,你常常可以阅读它的测试的代码了解哪些类是系统重要的类,以及了解如何使用该工具。
代码的第七个好处:物证,整人的证据。代码是公正的,我和一同事在讨论代码的好处的时候,他告诉我,如果哪个人在唱歌的时候老霸着话筒不放,那下次代码走查的时候,大伙就专挑他得错。哈哈,开玩笑,千万不要用这个好处整人。
代码的好处有这么多,发生在系统的计划,分析设计,实现,测试当中,还能整人!!!不知道你看了后有什么补充没?不过,我相信,你肯定会去拥抱你亲爱得代码的,^_^。
我这些思路来源于xp,以及和同事的讨论
分享到:
相关推荐
国外程序员推荐:每个程序员都应读的书 ,开发设计人员必备
通过学习《程序员数学3》中的线性代数部分,并结合配套代码,读者可以加深对线性代数的理解,掌握如何在实际编程项目中运用这些概念,从而提升解决问题的能力,特别是在涉及数据处理、机器学习和统计分析的领域。...
JAVA程序员必读:基础篇
《程序员数学》是一本专为IT从业者设计的数学学习书籍,旨在通过Python编程语言帮助读者深入理解线性代数和微积分的基础概念及其应用。线性代数是现代计算机科学和工程领域不可或缺的部分,它在图像处理、机器学习、...
我整理生成的CHM格式文件 JAVA程序员必读:基础篇.chm 因为最近在搞这个所以整理了一些资料和大家分享 并非本人原创,郑重感谢原作者!
JAVA程序员必读:基础篇(4)类和继承-JSP教程,Java技巧及代码
JAVA程序员必读:基础篇(2)面向对象编程概念-JSP教程,Java技巧及代码
ACE程序员指南:网络与系统编程的使用设计模式,高并发网络编程
程序员101:如何自学编程[整理].pdf
MongoDB程序员认证: MongoDB Certified Developer Study Guide - Study Guide - Exam Preparation - Practise Questions
UNIX系统V第4版程序员指南:XWIN图形窗口系统Xlib-C语言界面,已添加书签
视频课程下载——程序员软技能:代码之外的生存指南
ACE程序员指南 网络与系统编程的实用设计模式 part2
"程序员的代码的代码的代码"这个标题可能是在强调代码的层次性、嵌套性或者递归性,暗示着代码间的相互依赖和复杂性。在描述中,连续重复的短语进一步突出了这一点,可能意味着代码的深度集成或者高度复杂性。 首先...
修改后的代码,可以正常画出3D中的箭头,此为源代码,针对《程序员数学 python学透线性代数和微积分》第三章中用到的引用代码程序
这包括仔细检查代码、文档和其他工作成果,以确保它们符合要求。 5. 保持积极心态:程序员的工作可能会很繁琐和复杂,但保持积极的心态可以帮助你克服挑战,并找到解决问题的方法。 6. 学会妥善处理压力:程序员经常...
10. 程序员目标:雷军认为,程序员目标不是追求高级程序员,而是热爱写程序,热爱电脑世界的美妙,并且是一个完美主义者。 11. 程序员之路:雷军认为,程序员之路是漫长的,需要热爱写程序,热爱电脑世界的美妙,...
基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的...
【我增加了书签,现在才是真正的完整版了。不到一分钟就完成书签制作了。】本书的初衷就是帮助企业...本书确实想帮助毕业生顺利地度过两年的程序员职场新手阶段,让更多的职场新星确定正确的方向,少走弯路,早日腾飞。