您正在查看 "重构相关" 分类下的文章
2008/08/13 14:34
一、反向注入
很多Web框架中将form中的fields自动转换成bean或相应类型,然后设置到action的setter方法中。这样就可以很方便的在action中获取fields,webwork是直接注入到action中,Struts则有一个formbean做中转,和实际的bean还不一样,有点类似DTO的概念,其实觉得Struts的formbean有点鸡肋的感觉。我想很多人对这种反向注入觉得很方便吧,但是这个自动注入的操作还会涉及到其他一些东西。
1、注入的话,那就需要有一个被注入的对象。这句话看起来很像是废话,但是在某些框架或是场景中,想要找到这个对象就比较麻烦。 |
2008/08/12 17:21
现在开源的框架和实现相当的多,就单拿Web的MVC框架就很多了,像Struts2、SpringMVC,甚至像Seam、ROR等都被划到 Web开发中来进行比较。我们经常会看到很多文章在比较着这些框架,优缺点列出一堆,得出一个结论哪个哪个比较好。除了这些流行的开源框架之外,很多公司 内部的框架的数目也不在少数,相比那些开源的流行的框架,公司内部的框架的文档会很缺乏,经常会以使用心得或者同事的介绍,再加上自己在使用的过程中慢慢 熟悉的。有很多细节性的问题,你甚至要深入阅读框架的源代码才能理解。很多抱怨也会这么产生。
|
2008/07/07 22:42
今天读了一些业务相关的代码,有一个类的方法达到了400多行,里面很多的判断语句,最多的if嵌套深度到达了5层,其实整个方法的业务逻辑并不是很复杂,就是对调用请求进行一些检查,然后在每种情况下进行一些不同的处理,而且这些处理都比较的简单,但是糅合在一起的代码。却很多的问题
一、很难直白的理解方法的意图
虽然你可以从if语句的判断条件中读懂整个执行流程,但是这还是很费力的,如果碰到变量名取得不好,或者if判断中间是N个条件的组合判断,你就很难 |
2008/07/05 13:05
其实一直都觉得UML这东西是被误用了最多的东西,很多人其实对UML的各类图的细节都不怎么清楚,所以各人拿各种工具画出来的东西都是各种各样的。最简单的细节就是很多人不注意箭头,单单是箭头,就有好多种画法,但是在一些图中,基本上就是清一色的一种。
还有利用UML图来进行系统的分析和设计是一个连贯的东西,从用例图到顺序图,从领域模型到类图,再综合到状态图,是一个不断细化设计的过程,但是很多图还是太独立了。基本上看了等于没有看。 |
2008/07/03 09:34
很多的时候,我们一直在讲写代码最先讲的是把功能实现,然后再是优化等等问题。在一个人编写代码的时候这是可以的,但是在一个实际的项目中,这往往是会带来问题。
一、项目的需求变更迫使你改变原有的设计
在项目开发的中期,已经完成了系分设计,编码也进行到一半的时候,需求方提出需求变更。虽然可以拒绝接受需求的变更,但是由于功能点的重要性,接受了变更。但是面临的问题就是还有半个月,项目就有上线,为了能够在规定的时间内完成项目,并且实现变更的需求,我们采取的方案是尽量不改动原有的设计,以最 |
2008/05/14 11:51
http://findbugs.sourceforge.net/
FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。
对SunnyClassroom很久之前的一个版本进行了分析
按照这样配置好分析的代码
分析之后,我们得到了9个缺陷
|
|
|