软件开发七宗罪

来源 :中国计算机报 | 被引量 : 0次 | 上传用户:lym50691064
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  成为一名好的软件开发员不仅要终身学习,而且要避免软件开发中常见的七宗罪。
  ——尼尔·麦卡利斯特
  
  成为一名好的软件开发人员不仅需要终身学习,还要避免软件开发中常见的七宗罪——欲望强烈、胃口大、贪婪、懒惰、愤怒、嫉妒和骄傲。
  第一宗罪——欲望强烈 。当前,编程语言逐渐成熟,新的关键字、旨在提高代码可读和可重用性的结构被广泛使用,编程的规则也随之改变,程序员需要研读大量设计模式资料。但纸上知识在实践中并不一定有效。编程大师乔尔·斯波斯基说:“能售出是产品开发的一个很重要的目标。”迷恋工具的程序员会忽略这一点,请采取有效的措施抑制沖动,。
  第二宗罪——胃口大。一旦产品问世,你会忍不住开始筹划更新。它可以有什么新特性?哪些方面在第一轮开发中没考虑到?程序员容易重复犯同样的错误,导致代码库臃肿且难于管理。评估你现有代码的质量和可维护性,使代码重构成为每一轮开发的注意事项之一。
  第三宗罪——贪婪。自己团队闭门写的代码库,实现的却是其他团队已写代码的一大半功能。开发团队如果缺乏明确的目标,就会重复劳动,产生多余而失控的代码库。经营性开发项目的首要任务之一是确保每个参与者知道别人在做什么。分享应该是座右铭。
  第四宗罪——懒惰。缺少输入验证,这个看似业余的错误却经常出现在经验丰富的程序员编写的代码中。许多安全漏洞可以追溯到未验证用户的输入格式是否正确。许多工具可以帮助程序员避免这种情况发生。输入验证应当在程序的核心部分,而不是在用户界面上,不这样做,就是偷懒。
  第五宗罪——愤怒。程序员很容易忘记,他们写的代码会比他们在某个公司呆的时间还长,接任者很难搞清楚每个代码片断的意思。因此,手下留情吧,多给他们一些提示。但请记住,注释难以理解或注释太多,和没有注释一样糟糕。代码本身就已说明做什么了,注释只需说明原因即可。
  第六宗罪——嫉妒。也许你有理由不实施项目版本控制,但功能强大、有效的版本控制系统已经免费,服务供应商甚至提供分布式项目主机代码,实施项目版本控制变得非常容易。因此,你应该在开始一个项目时先建一个代码库,除非你能忍受除了你之外的所有人都可以修改代码。
  第七宗罪——骄傲。除非已经用特殊测试验证过代码,不然,你不能确定软件没有缺陷。但有太多开发人员不做代码单元测试,他们声称测试不能完善功能。一些开发者甚至不把质量测试列入项目预算。有缺陷的代码到达客户手中后再进行修正已经太迟。卖出软件前的测试越多,越能控制损失。
其他文献
云计算的发展正由技术推动的阶段进入由应用推动的阶段。在这个转变的过程中,用户对业务的安全性和业务连续性有更高的要求。惠普混合交付云将如何破解这些难题呢?    经过一段时间的市场培育,云计算的理念已经被越来越多的业内人士所接受,云计算的发展也从技术推动的阶段过渡到由应用推动的阶段。中国电子信息产业发展研究院副院长卢山在2011年惠普云世界高峰论坛上表示,惠普现在召开云计算大会恰逢其时。  在未来一
谷歌的一句“不作恶”让人们意识到,互联网行业“玩”起垄断来可能比其他任何行业都更具先天优势。在“3Q大战”(360和腾讯之争)的硝烟中,中国互联网行业也迎来了反垄断的高潮。近日,由互联网实验室发布的《中国互联网行业垄断状况调查及对策研究报告》再次强调:互联网反垄断已刻不容缓,特别是针对滥用市场支配地位的行为。    日趋危险的“垄断相”    曾有业内专家指出,以免费为基石发展起来的互联网企业,如
近几年,全国每年的高校应届毕业生人数达到600万以上,如果再加上往年未就业的学生,这一数量会更加庞大。一方面,毕业生的就业形势愈发严峻,竞争趋于白热化;另一方面,虽然面对着庞大的毕业生就业群体,但不少企业仍然抱怨无法招聘到合适的人才。  教育与就业市场的脱节让毕业生和雇主同样感到困惑。而创意产业作为对技能要求比较高的职业方向,其人才供需矛盾更为突出,毕业生虽然数量众多,但技能上却往往达不到用人单位
对梦想的提问源自对中国互联网发展的深层次担忧——中国的互联网从业者虽然仍激情满满,但五年后呢,业界将出现怎样的互联网创新?  ——本报记者刘洪宇    上月底,在深圳召开的中国IT领袖峰会上,马云、马化腾、李彦宏三巨头聚首,共话互联网创新与发展。对话的最后一个环节让笔者记忆犹新。IDG投资创始合伙人熊晓鸽问:“十年前,你们的梦想是什么?现在呢?”一时间,场上场下由“激情版”转入“温情版”。  马云
去年底,谷歌将智能手机操作系统Android 2.2升级为 Android 2.3,紧接着又与三星联合推出搭载Android 2.3的手机。  通常,在软件版本更新方面,0.1的步进不会为软件特性和功能带来显著变化。但谷歌这一次可不同,套用美国宇航员阿姆斯特朗迈出阿波罗11号飞船登月舱时说话的句式——“这是Android版本迈出的一小步,但却是影响Android阵营的一大步”。    这一影响直接
企业加速驶向云计算和移动服务环境的同时,也打破了数据中心的堡垒。面对这种快速的变革,CIO们是否会不知所措?或许,类似超级工厂(Stuxnet)这样的安全威胁将会持续并常态化,而更具破坏性的恶意软件也会在未来不断出现。我们需要做的是思考并吸纳新的安全解决方案,破解不断出现的风险密码。    云时代的安全新挑战    在这个信息大爆炸的时代,企业内部的信息量急剧增长。两年的时间,足以让一个企业所管理
从行驶的汽车到战斗的汽车人,变形金刚演绎的不仅是形态的变化更是战斗力的升级。企业的业务转型、创新变革的过程与之颇有些类似。  就像能量矩阵为变形金刚提供了生命动力,IT作为企业适应环境剧变、加速演化的重要动力毋庸置疑。IT技术种类多,技术复杂度更高,升级换代的速度也更快。因此,在不同的阶段,企业需要采用相应的IT方案,才能满足发展需要。作为继大型计算机、个人计算机、互联网技术之后出现的第四次IT产
2010年提出智慧城市战略,两年后的现在,神州数码的智慧城市业务布局日渐清晰,相继与69个城市展开合作,与14个城市签订了战略合作计划。  在近日召开的“数字福建—中国(福州)智慧城市高峰论坛”上,福州市政府发布了福州市民融合服务平台(以下简称服务平台)。福州市民可以通过互联网、智能终端、语音电话、有线电视、社区服务站等多种渠道,享受各种便民服务。“只要会说话,就能够享受城市服务。”服务平台建设方
随着网络教育的普及,更多家庭用户都把打印机当成了学习生活的必需品,面对如此纷繁的打印市场,家庭用户该如何选择呢?笔者随机采访了几位购买打印机的用户,他们最关心的问题都是打印成本问题,带着这个问题,笔者惊喜地发现佳能近日新发布了一款一体机——腾彩PIXMA E500,其优势特点就是“更低打印成本、更高打印量”,笔者认为它实至名归,是相当给力的学习帮手。  低打印成本、高打印量  据悉,PIXMA E
通过社交网络建立联系和进行协作是意义重大的第一步,但要获得真正的商业价值,企业还需挖掘、分析在这些行为中产生的数据,并借此为企业发展指引方向。这才标志着企业真正成为一家社交商务公司。  —— Sandy Carter    一提到社交网络,大多数人立刻就会想到Facebook、Twitter、微博、个人空间等。事实上,很多企业都在努力借助这些社交工具推动企业的销售,很多大型企业还通过这些工具实现快