|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 作者 | 正文 | ||||||||||||||||||||||
|
时间:2007-05-22
1.1 Junit的引入 Junit是当前十分流行的一个单元测试框架,实际上,junit只是java领域内的解决方案, 在其他领域junit所表达的这种测试理念,仍然是行得通的,而且有其他版本的实现,有兴趣的话大家可以去研究研究。在junit中包含了TestSuite和TestCase,都实现Test接口,看类的名字就可以明白suite是很多个case的集合,可以把case加入到suite中,让suite来启动。而对于每个TestCase也可以独立运行,这样的设计模式是很有意思的(这里我就不介绍了)。这例我就简单的实现一个junit单元测试: java 代码
java 代码
然后运行 测试结果产生了。还好在eclipse里面集成了Junit插件,开发起来非常简单,大家可以自己去研究研究,怎么用的问题我觉得已经超出了本文所要讨论的范围,而且如何使用junit进行单元测试也已经有人写出了书。 这样自己写单元测试对代码进行测试的过程叫白盒测试,因为程序员知道代码的内部结构,知道代码的条件分支,测试起来会比较测试人员来说覆盖率要高的多,也能提前发现问题,当一段代码经过单元测试之后,我终于可以松口气了。 下面给出一个比较简陋的单元测试的文档模版,该模版可以是简单的文本,或复杂的word表格甚至是excel都可以,基本包含的内容如下:
当进测试完成后,提交该文档,表示该功能完成开发可以提交使用了。当然,我对单元测试的经验也不是很丰富,一切都是想法,还要和大家经过探讨或者借鉴别人的经验才能获得更好的一些测试方法和测试文档。 还有一句名言:Keep the Bar Green to Keep the Code Clean(junit自带的测试工具里面有个滚动条,如果出错会显示红色,如果正确会显示绿色) 1.2 代码重构 “重构”是很早的时候听到的一个词,我觉得至少有1年的时间了。而且Martin Fowler也专门写了一本关于重构的书(和设计模式齐名的书!!看过一点,觉得很不错!)。实际上简单点的意思就是说对代码的重新组合,把代码放到需要它的地方去。这样可以提高代码重用率,提高效率。记得书里面将的第一个重构方法就是关于大块代码的(包括Big Class,Big Method等),大块代码不利于阅读,这是大家公认的事情,因此要对大块代码进行重新别写,分成很多个小的方法或类,方法越小,出错的机率也就小! 仍然来使用用户登录的例子,比如有个非常大的方法: java 代码
这样下来, java 代码
这样做把大快的代码分成很多个小部分,每个部分因为代码不多,容易读,也会因此而变得容易修改的。类似这种情况的还有胖 这里有一个问题需要注意:重构的密集程度问题,太多的话会影响开发进度,太少了重构难度会非常大,因此决定一个比较合适的重构周期是很重要的! 重构代码的同时也需要对相应的说明性文档进行重构。 1.3 代码审查 从科技局项目开始,代码审查已经被提上日程,可是现在想起来,当时的做法真是有些太初级。我觉得是我的关注面错了:代码审查的过程是完成代码重构的过程!如果有些不好的代码我自己都没有看出来它需要进行重构,这个时候代码审查会议就是一个很好的剔除烂代码的过程,大家一起讨论如何对已有代码进行修改,怎么样能更好的提高代码的重用率和可读性,而不仅仅的只是关心代码中哪里少了一个空格,哪里有多了一个空格等等。 下面的代码是科技局中出现的(在一个jsp中摘抄,可以不看,举个例子而已): java 代码
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
又是用er的
发在一个帖子里不好么 另外整理下格式好么 这样有人会耐心看么 |
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
ddandyy 写道 又是用er的
发在一个帖子里不好么 另外整理下格式好么 这样有人会耐心看么 什么是er?可以所有的内容都发一个帖么?第一次发没太注意 |
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
不是 我的意思是 后两个发在回帖里 这样让别人看的时候也方便 否则如果真的想找后面的还要出去搜索么 万一有几个回帖不就乱掉了 就找不到了
ER是我打错了 应该是RE 也就是Rich Editor 是你的发帖的编辑器 如果你发代码的话 建议用BBCODE 里的CODE标签 看起来会很舒服 在JE的人都看惯那个了几乎 如果发代码的时候不加CODE的话 几乎没有人会有耐心看的 举个例子 就是这样 class Test {
public TestSuite suite(){
TestSuite ts = new TestSuite();
ts.addTest( new ProcessTest() );
return ts;
}
}
|
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
ddandyy 写道 不是 我的意思是 后两个发在回帖里 这样让别人看的时候也方便 否则如果真的想找后面的还要出去搜索么 万一有几个回帖不就乱掉了 就找不到了
ER是我打错了 应该是RE 也就是Rich Editor 是你的发帖的编辑器 如果你发代码的话 建议用BBCODE 里的CODE标签 看起来会很舒服 在JE的人都看惯那个了几乎 如果发代码的时候不加CODE的话 几乎没有人会有耐心看的 举个例子 就是这样 class Test {
public TestSuite suite(){
TestSuite ts = new TestSuite();
ts.addTest( new ProcessTest() );
return ts;
}
}查询那个已经改了,不过内容好像有点变化~~~~ |
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
用RE的时候 发有些代码会乱掉 所以才推荐用BBCODE 肯定没有问题
|
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
ddandyy 写道 用RE的时候 发有些代码会乱掉 所以才推荐用BBCODE 肯定没有问题
那个bbcode有没有长度限制?? |
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
长度限制肯定有的
这个是数据库字段的长度限制 |
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2007-05-22
ddandyy 写道 长度限制肯定有的
这个是数据库字段的长度限制 调整了一下,现在看着怎么样 |
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
|
时间:2008-04-16
这种项目天生就不是以技术为导向。
能做的就是尽量把功能模块细化设计,随时可以组合,去掉 |
|||||||||||||||||||||||
| 返回顶楼 | |||||||||||||||||||||||
浏览 1347 次





