中软首页
中软国际教育科技集团Education and Technology Group of Chinasofti
●  教育部授予:“软件工程专业大学生实习实训基地”资质
●  商务部授予:“中国服务外包示范培训中心”资质
●  工信部授予:国家信息技术紧缺人才培养工程“521计划”资格
●  获得腾讯授予:中国IT教育十大影响力品牌

≡ 技术知识库
当前位置:网站首页>技术知识库>>文章内容
程序员如何做到程序员如何做到"编程速度又快,Bug 数量又少"?
作者:   来源:    时间:2015-05-14 10:01:31    字体:[大] [中] [小]
  三个程序员被要求穿过一片田地,到达另一侧的房子。
  菜鸟程序员目测了一下之间很短的距离,说:“不远!我只要十分钟。”
  资深程序员看了一眼田地,想了一会,说:“我应该能在一天内过去。”菜鸟程序员很惊讶。
  大神程序员看了一眼田地,说:“看起来要十分钟,但我觉得十五分钟应该够了。” 资深程序员冷笑了一声。
  菜鸟程序员出发了,但只过了一会,地雷爆炸了,炸出了巨大的洞。这下他必须偏移预定的路线,原路返回,反复尝试穿过田地。最后他花了两天到达目的地,到的时候颤颤发抖,还受了伤。
  资深程序员一出发就匍匐前进,仔细地拍打地面,寻找地雷,只有在安全的时候才前进。他在一天的时间内小心谨慎地缓慢爬过了这片地,只触发了几个地雷。
  大神程序员出发之后径直穿过了田地,十分果断。他只用了十分钟就到了另一边。
  “你是怎么做到的?”另外两个人问道,“那些地雷怎么没有伤到你?”

  “很简单,”他回答道,“我最初就没有埋地雷。”


  当我们遇到我们(或其他人)给自己埋下的逻辑炸弹,编程会变得很困难。我们天天在编写逻辑炸弹。它们就在地表下静静地待着,等着爆炸。一旦爆炸,通常就带来不可预测的严重后果。
  随着新的代码模块被加入到项目中,项目的复杂度会上升。这种上升不是线性的,而是呈某种指数形式。
  程序员的精力是一种有限的资源,所以这种爆炸式增长的复杂度最终会淹没程序员。你的大脑最终会不堪重负,这是一个转折点。
  这就是炸弹开始爆炸的时刻。有各种各样的炸弹:在遍历时修改数组,数组下标偶尔变成负数,另一个线程在你的函数执行的起点和终点中间改变对象的状态。轰,轰,轰……
  我认为最快捷可靠的程序设计需要培养一种避免这些问题的风格。
  编写明确表达行为的代码。选择有意义、准确、无歧义的符号名字。严格执行命名方案,不要用不同的单词描述同一个事物。
  如果有,采用最简单的解决方案。不要为速度优化,而是为可读性和透明度优化。
  如果你在最初编写代码时没有注意可重用性,不要欺骗自己相信代码可以很神奇地被重用。相反,应该从一种情形着手,保持代码的具体性。如果值得修改代码让它一般化,那么应该做好彻底重写的准备。
中软国际教育科技微网页二维码
版权所有 © 2008-2014 中软国际教育科技集团    京ICP备09078625号-2   京公安备11010802014778号    隐私声明 | 联系我们