2008-04-11
测试驱动开发与前瞻性思维
由于以前做的项目都是采用后发制人式的思维,碰到需要什么了再写什么代码.
比如说一个CRUD,一般都是先写出一个简单的框框,碰到需要分页了就加入分页组件,碰到需要校验了就加入校验的支持.
这样的写法虽然说看起来比较敏捷,但是如果几个项目下来还是采用这样的方法,就感觉写程序的效率上有一个瓶颈,速度上去不,速度快了bug又很多.
于是这次struts2实践为了避免或者说减少以上问题.
1.采用project做项目计划以及wbs,把系统分解成不同的模块.
2.利用测试驱动的方式编写代码,定号一个service的接口后,直接先开始写service的测试用例,确定service所实现的功能.至少保证这些功能的正确性,并且在接口定义的过程中,适当的根据以往开发的经验预测一些系统前瞻性的功能需求,而不是一味想到什么做什么.
这里列出目前为止系统开发需要考虑的一些方面的内容
1.对于JPA,确定数据库映射的工具,至少可以从数据库生成实体类.
2.对于spring,确定事务配置的方法,已经依赖注入的模式(手动指定,或者autowired)
3.确定url和对应的action如何映射.
4.标记库的开发,已经系统需要使用到的一些常用功能的自定义标记(例如性别,yesno列表等等可以考虑封装成一个自定义的标记,这样不用每个页面都写一堆struts的tag)
5.加密解密模块(包括密码和某些querystring的加密解密,以及支持的加密解密的算法md,sha1,des等)
6.用户在线状态管理.
7.系统权限管理.
8.页面分页组件的开发.
9.表单校验.
10.测试驱动功能的实现.
11.ajax集成.
还有那些需要考虑的还请大家补充.
以上只是偶在实践开始阶段的一些感想,随时实践的不断进行,还有其他补充的想法,都需要记录下来.以供以后项目的需要.
比如说一个CRUD,一般都是先写出一个简单的框框,碰到需要分页了就加入分页组件,碰到需要校验了就加入校验的支持.
这样的写法虽然说看起来比较敏捷,但是如果几个项目下来还是采用这样的方法,就感觉写程序的效率上有一个瓶颈,速度上去不,速度快了bug又很多.
于是这次struts2实践为了避免或者说减少以上问题.
1.采用project做项目计划以及wbs,把系统分解成不同的模块.
2.利用测试驱动的方式编写代码,定号一个service的接口后,直接先开始写service的测试用例,确定service所实现的功能.至少保证这些功能的正确性,并且在接口定义的过程中,适当的根据以往开发的经验预测一些系统前瞻性的功能需求,而不是一味想到什么做什么.
这里列出目前为止系统开发需要考虑的一些方面的内容
1.对于JPA,确定数据库映射的工具,至少可以从数据库生成实体类.
2.对于spring,确定事务配置的方法,已经依赖注入的模式(手动指定,或者autowired)
3.确定url和对应的action如何映射.
4.标记库的开发,已经系统需要使用到的一些常用功能的自定义标记(例如性别,yesno列表等等可以考虑封装成一个自定义的标记,这样不用每个页面都写一堆struts的tag)
5.加密解密模块(包括密码和某些querystring的加密解密,以及支持的加密解密的算法md,sha1,des等)
6.用户在线状态管理.
7.系统权限管理.
8.页面分页组件的开发.
9.表单校验.
10.测试驱动功能的实现.
11.ajax集成.
还有那些需要考虑的还请大家补充.
以上只是偶在实践开始阶段的一些感想,随时实践的不断进行,还有其他补充的想法,都需要记录下来.以供以后项目的需要.
发表评论
- 浏览: 6264 次
- 性别:

- 来自: 福建福州

- 详细资料
搜索本博客
最新评论
-
struts2实践- 结合jquery ...
不晓得有没有完整的代码,我现在弄的一头雾水的,不知道jquery的验证能不能与s ...
-- by long_jianxiu -
struts2实践- 结合jquery ...
jquery-validate的rules和messages分开写,如能合在一起 ...
-- by stworthy -
struts2实践- 结合jquery ...
看着不错, 本来就很烦struts的validator
-- by spiritfrog -
struts2实践- 结合jquery ...
是啊,现实开发中,总是很难直接套用strut2自带的那几个模板来实现验证,而且不 ...
-- by zl5897 -
struts2实践- 结合jquery ...
支持你的观点,感觉还是jquery表现力好点
-- by wangyazhen






评论排行榜