从持续集成 到 持续检查
???? 持续集成的终极目标就是想要在软件开发的任何阶段,无论是Milestone,RC,还是GA,都能够以最低的风险发布软件的不同版本。让我们来总结一下持续集成能够做到什么:
?
??? 任何人在任何地点,任何时间可以构建整个项目。
??? 在持续集成构建过程中,每一个单元测试都必须被执行。
??? 在持续集成构建过程中,每一个单元测试都必须通过。
??? 持续集成构建的结果是可以发布的软件包。
??? 当以上任何一点不能满足时,整个团队的主要任务就是去解决这个问题。
?
??? 这确实是一个非常好的起点但对整个软件的质量来说确是不够的。那么还有哪些对源代码质量的要求呢?
?? ?
??? 任何新的代码必须和相应的单元测试代码一同进入系统。
?? ?新方法的复杂度不能超过定义的界限。
?? ?不允许包之间的循环性依赖关系。
?? ?不予许重复性代码。
?? ?不允许和已经定义的编码规范冲突。
??? 不允许调用已经声明为过时的方法。
?
??? 在开发中的一些实践
????在eclipse中加入检查插件:
?? ?checkstyle的eclipse插件 http://eclipse-cs.sourceforge.net/
??? 需要对其自定义才能符合项目使用,否则多数代码不能通过。
?
??? findbug?http://findbugs.sourceforge.net/
??? pdm
?
??? 对eclipse的format cleanup进行自定义
?
????在使用maven的基础上使用sonar,sonar就是支持“持续检查”的最优秀的架构之一。
???
??? 附件为自定义的checkstyle、format 、cleanup
??? format cleanup需要在eclipse中导入Preferences---Java---CodeStyle---Cleanup/Format
??? 安装checkstyle插件后:Preferences---New---External Configuration File 导入后设置为默认
???
??