posts - 59,  comments - 323,  trackbacks - 0
  我写了一篇blog叫做《招人不难》,很多朋友很赞同,也有的朋友不同意我的意见,他们很怀疑:“有bug的一律不要?没有BUG的代码是不存在的...blabla”
 
  正好今天又看到一篇转贴的笑话,叫做《【转】从一个笑话看软件开发管理》,大意是,程序员交出了自以为没有bug的代码,然后一切都变得越来越糟糕,而程序员总是会交出自以为没有bug的代码。
 
  我们今天就来谈谈,一个程序员,什么时候可以交出自己的代码,并且可以自豪的对别人说:“我的代码里面,没有bug!”。
 
  先说传统的做法,一个负责的程序员,应该在交出代码之前,自己跑好多次自己的代码,左看右看,上看下看。直到交出去的时候,没有一个人能够发现其中的问题。这样的能力一般只有天才才能具备,我以前遇到过一个。但是,如果我企图以这样的标准来招人的话,那就是在发疯,怎么还敢说“招人不难”?
 
  说说可行的办法吧。一个程序员如果足够的谦虚,时时想证明自己可能犯错,即将犯错,或者已经犯错。那么他就会尽量写出足够多的TestCase,以便打消自己的疑虑。直到所有的测试用例全部通过,屏幕上显示出美丽的绿色长条,他才能确信,自己的代码没有bug。
 
  所以,我的判断标准,也很简单。如果寄给我的代码,没有附带测试用例,我就自己运行他的程序,随意的乱找,找到一个我认为是bug的,那就是有bug了。如果寄给我的代码,附带了足够的测试用例,我只要Run一次,看到绿条,这一关就算是过了。~~~很简单吧。
 
  也许有人会说,那如果他的测试用例很简单呢?岂不是不能说明什么问题?怎么不能说明问题呢?首先可以说明:这是一个会写测试用例的程序员!其次,我会看看他的测试用例的代码,大概覆盖了多少的功能特性。当然,这是更进一步的能力判断。但是至少,他的代码已经达成了他自己的设计了呀。
 
  所以:“有bug的一律不要”,意味着,你最好能够自己证明自己没有bug,否则,我如果找到一个bug,你就没戏了。
posted on 2006-06-11 10:34 读书、思考、生活 阅读(29258) 评论(10)  编辑  收藏


FeedBack:
# re: 如何写出没有bug的程序?
2006-06-11 11:56 | wolfsquare
钻个牛角尖,如果程序写不出测试用例的情况呢?
例如复杂的GUI程序.  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-11 12:17 | 读书、思考、生活
@wolfsquare
这的确是个问题,不过如果是在招人的时候,还是尽量不要让人家做太多GUI相关的demo,这样的demo,也不容易评价水平的高低。

如果是一个GUI为主的demo,那也只能靠人工判断了。  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-11 14:25 | Andy luo
原来是要写测试用例阿,当时怎么就没想到呢~~  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-12 14:57 | heny.alex
look down on so man~  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-12 17:57 | 不曾真实
第一:GUI也是可以写出测试用例的。
第二:问题的关键在哪里?是你的测试观点。你有多少个观点决定你可能发现多少个BUG。  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-14 09:43 | 不要出来搞笑
没有bug的程序?????????
靠,站着说话不腰疼。那个公司可以做出没有bug的软件来?
当然,没有写过程序的人不出bug!!
估计这位同志不会写代码,是个理论专家。
还是不要这么狂的好。
我估摸按你的标准,你是肯定不会被别人录用的!
  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-14 11:12 | 读书、思考、生活
@不要出来搞笑

不要出来搞笑,谢谢。  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-15 17:27 | ronghao
@读书、思考、生活

项目的开始还是尽量地写测试用例,但是到项目的结尾,比如在表现层改动重新涉及到DAO层,就很难再对DAO层写测试用例了:)赶时间啊
  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-16 16:51 | 123
你是编程的吗?
无“BUG”搞笑吧你
测试是不能查出所有BUG的
而且不是所有测试都能穷举的
只能是测试覆盖率达到一个标准
BUG出现的概率达到标准
才算产品
“ZERO-BUG”做梦去吧


  回复  更多评论
  
# re: 如何写出没有bug的程序?
2006-06-26 09:47 | dfinger
如果说一个产品有明确的是需求,设计,实现和完整测试用例。。
那么无bug的梦想真的也不是那么难。。。
不过呢。。往往需求总是会变化的。。。
需求和实现总会脱节。。schedule的问题总会造成
testcase跟不上代码变化。。。最终沦为无用的东西之类事儿。。。

如果说一个demo。应该不会有什么问题。。
但是一个庞大的产品。多个小组合作。。
中间不可避免的会出协调性问题。。。。
这好似工程上建大厦。如果按照成熟的板型
咱们哗啦哗啦的建他100个。只要材料ok。态度认真。
复核程序到位。。那房子肯定建的板板的。。。
但是如果你是从新设计。。诸如法国那个飞机场似的。
加入很多创新的元素。系统又复杂。。。你怎么可以说我
几十年后就肯定能保证不掉砖?

这问题似乎很没意思。每个人都不希望看到别扭的bug。。
但是这永远是一个极限。。好似成品率度只能算小数点后多少多少位
哪怕是99.99999%。他也不是100%。。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2006年6月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(20)

随笔档案

友情BLOG

搜索

  •  

最新评论

阅读排行榜

评论排行榜