代码质量、重构、软件设计相关的一些资料收集

个人对代码质量、面向对象度量、重构、设计模式、设计原则以及实践比较感兴趣,在平常的项目中也或多或少接触过一些。这些东西不是朝夕能够练成的,本文记录下自己在网上收集的一些资料,以备日后详阅。


首先介绍几款代码静态检查工具,这是我们项目开发人员本地构建需要做的事。

Eclipse插件CheckStyle,能够保证项目开发人员使用同样的编码风格,整个团队保持一致的编码风格显然很好。

PMD,检测编码常见的一些错误,在代码提交svn之前,开发人员消灭一些低级编码错误。

FindBugs,跟PDM类似,也能够检测常见的代码问题。

Eclipse Metrics,检测函数的圈复杂度,所谓圈复杂度其实就是函数里面的if-else、while、for等逻辑控制,显然圈复杂度越高,就意味着函数逻辑越复杂,我们项目里面规定函数圈复杂度不能超过15。

EclEmma,能检测我们Junit单元测试代码覆盖率,即看看源代码有哪儿些能够被单元测试覆盖到,哪儿些不能。

Simian - Similarity Analyser,检查项目中重复代码。

UCDetector,能够检测项目中的无用代码。



上面这几款工具主要关注点都是在代码质量上,下面介绍几款设计相关的工具,更加侧重package的划分是否合理、jar之间的依赖关系。

jDepend,历所有类生成每个包的依赖程度,稳定性,可靠度等报告。重点在三个方面: extensibility可扩展, reusability可重用, maintainability可维护。主要根据Robert C. Martin提出的面向对象设计原则,生成Java包的质量评价报告。

tattletale,可以分析工程jar包之间的依赖关系、是否存在jar冲突。

Structure101,分析包之间的依赖关系,能够显示项目的依赖关系图,辅助我们解决依赖混乱、循环依赖等设计缺陷。

Infusion,是一个业界广泛应用的软件架构分析工具,通过对度量数据的分析,得到设计缺陷等软件架构的定量分析,对开发人员提高代码设计能力有较大帮助。


下面分享下几个学习OOD遇到的几个很不错的网站:

objectmentor提供了OO相关的培训课程。

sourcemaking介绍重构以及设计模式。


GOF23种设计模式是特定场景下的最佳解决方案,属于最佳实践。这些模式背后的理念和原则是一致的,基本上都是为了解耦、扩展和复用。比设计模式更高级的是设计原则和理念。

http://en.wikipedia.org/wiki/Unix_philosophy  Unix设计哲学
https://en.wikipedia.org/wiki/List_of_software_development_philosophies 软件开发哲学

http://www.iteye.com/news/20930     常见的一些软件设计原则

http://coolshell.cn/articles/2324.html  Unix传奇(下篇)

http://coolshell.cn/articles/1007.html   优质代码的十诫


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值