论坛首页 海阔天空论坛

目前项目的暴强代码风格 + 把它重构了!

浏览 31855 次
精华帖 (0) :: 良好帖 (31) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-17  
gigix 写道
下一站,火星 写道
gigix 写道
我的实践是,任何超过三行或者两个分支的代码片段都应该被测试

请教一个经验吧,覆盖率到多少才叫基本讲的过去?
我所见过的代码段基本都在3行以上

这里的思路是:超过3行或者2个逻辑分支的代码片段就是有可能出错的,因此它应该被测试
所以针对符合此条件的代码,测试覆盖率应该是100%,除非你有绝对充分的理由
如果你是从一个已有代码库开始,那么至少应该保证新写的代码符合此条件的达到100%测试覆盖,并且旧代码的测试覆盖率逐步上升、永不下降
和所有的原则一样,这些原则也是可以妥协的
采用这样严格的原则,只是为了让自己不要妥协得那么容易


but你说的代码测试率,指函数?code block?还是什么?
0 请登录后投票
   发表时间:2008-12-17  
gigix 写道
下一站,火星 写道
gigix 写道
我的实践是,任何超过三行或者两个分支的代码片段都应该被测试

请教一个经验吧,覆盖率到多少才叫基本讲的过去?
我所见过的代码段基本都在3行以上

这里的思路是:超过3行或者2个逻辑分支的代码片段就是有可能出错的,因此它应该被测试
所以针对符合此条件的代码,测试覆盖率应该是100%,除非你有绝对充分的理由
如果你是从一个已有代码库开始,那么至少应该保证新写的代码符合此条件的达到100%测试覆盖,并且旧代码的测试覆盖率逐步上升、永不下降
和所有的原则一样,这些原则也是可以妥协的
采用这样严格的原则,只是为了让自己不要妥协得那么容易


按照你这个标准,我可以说“求求你们了,别再说自己是TDD了”

是不是存在一个项目背景的问题,像你这样做外包项目的居多吧?应该碰到2愣子的客户的情况比较多,我认为他这种情况下做做TDD,先总结出中心思想,然后再去抄课文,效果还是有的,但对于自主研发型项目呢?很多东西是一开始我就知道大概做什么东西了,我觉得采取利用测试用例收集需求是不是有脱裤子放屁的嫌疑?

在这个方面我还正在摸索,目前的做法是只测试model。还有一个问题需求的改变,测试用例也需要调整,维护测试用例没有找到好的办法
0 请登录后投票
   发表时间:2008-12-17  
gigix 写道

医生没有义务确保所有人都健康

医生没有义务确保所有人都健康和tdd的关系?
能推导出来?
0 请登录后投票
   发表时间:2008-12-17  
另外还有一个情况是,我所见过很多开源的插件,自带的测试用例打开一看,都是空的,看来老外有时也懒的抄课文了
0 请登录后投票
   发表时间:2008-12-17  
下一站,火星 写道
另外还有一个情况是,我所见过很多开源的插件,自带的测试用例打开一看,都是空的,看来老外有时也懒的抄课文了

我拿到东西,第一个看doc和demo。
不去修改的话是不会去看test文件夹的,难不成把test当doc看?
0 请登录后投票
   发表时间:2008-12-17   最后修改:2008-12-17
jichongchong 写道
下一站,火星 写道
另外还有一个情况是,我所见过很多开源的插件,自带的测试用例打开一看,都是空的,看来老外有时也懒的抄课文了

我拿到东西,第一个看doc和demo。
不去修改的话是不会去看test文件夹的,难不成把test当doc看?


开源的,就是给你修改用的,你不看就是一个纯最终用户而已 ,和我一样:oops:
0 请登录后投票
   发表时间:2008-12-17  
jichongchong 写道
下一站,火星 写道
另外还有一个情况是,我所见过很多开源的插件,自带的测试用例打开一看,都是空的,看来老外有时也懒的抄课文了

我拿到东西,第一个看doc和demo。
不去修改的话是不会去看test文件夹的,难不成把test当doc看?

测试就是文档
你怎么知道doc里写的和代码里实现的是同一回事?
2 请登录后投票
   发表时间:2008-12-17  
下一站,火星 写道
jichongchong 写道
下一站,火星 写道
另外还有一个情况是,我所见过很多开源的插件,自带的测试用例打开一看,都是空的,看来老外有时也懒的抄课文了

我拿到东西,第一个看doc和demo。
不去修改的话是不会去看test文件夹的,难不成把test当doc看?


开源的,就是给你修改用的,你不看就是一个纯最终用户而已 ,和我一样:oops:

我就是一个建筑工人。
0 请登录后投票
   发表时间:2008-12-17  
下一站,火星 写道
但对于自主研发型项目呢?很多东西是一开始我就知道大概做什么东西了,我觉得采取利用测试用例收集需求是不是有脱裤子放屁的嫌疑?

有时间写含混不清无法确保同步的设计文档,没时间写测试用例

顺便回答前面那位不理解医生的比喻:

我只是告诉你怎么做会有好处,你去不去做是你自己的事,你身体好不好跟我一毛钱关系都没有
2 请登录后投票
   发表时间:2008-12-17   最后修改:2008-12-17
gigix 写道
下一站,火星 写道
但对于自主研发型项目呢?很多东西是一开始我就知道大概做什么东西了,我觉得采取利用测试用例收集需求是不是有脱裤子放屁的嫌疑?

有时间写含混不清无法确保同步的设计文档,没时间写测试用例

顺便回答前面那位不理解医生的比喻:

我只是告诉你怎么做会有好处,你去不去做是你自己的事,你身体好不好跟我一毛钱关系都没有

这个比喻恰当吗?逻辑上没问题?
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics