关于作者

笔名:calvinxiu
地区: 广东-广州
作者相册

日历 

快速登录

+ 用户名:
+ 密 码:

在线留言

友情Blog

下班了

java

blog

开源

访问统计:9822


草稿区

 

这里是打草稿用的,还有一些比较低级的旧文舍不得删
正文都在csdn的blog上http://blog.csdn.net/calvinxiu/

日志

SICP

T1最爱的书,

还有javaeye上几位都吹到天上去了

Lisp

- 作者: calvinxiu 2005年06月21日, 星期二 14:33  回复(1) |  引用(0)

joel on software

看程序员里那篇《给大学生的建议》,的确是好文。

www.joelonsoftware.

- 作者: calvinxiu 2005年06月16日, 星期四 17:59  回复(0) |  引用(0)

Eclipse插件使代码生成工具告别纯Ant时代
 随着Eclipse的发展,很多Java项目都将告别无界面,靠ant打天下的局面,在依旧支持轻便通用的ant之余,开始拥有自己美观易用的界面。
  我觉得最典型的,就是AndroMDA了,全靠build.xml生成那么多东西,太辛苦了。
  而我自己的代码生成项目同样需

- 作者: calvinxiu 2005年06月14日, 星期二 00:20  回复(0) |  引用(0)

搬家了,到CSDN去

blogdriver 2.0实在太过垃圾.决定搬到温暖的南方去:

花钱的年华:    http://blog.csdn.net/calvinxiu/

- 作者: calvinxiu 2005年01月31日, 星期一 12:48  回复(0) |  引用(0)

IDEA补习社II--重构功能及IDEA5.0功能展望
一、重构功能
         最近项目开始第2次重构,目标是大家要形成使用重构功能的习惯。IDEA的重构真的非常聪明,如Macro般为你一次完成好多动作。
 
        1.针对Package的功能
           Rename,Move  
                             
        2.针对类的功能:
           Rename、Move、Copy(F5)、Safe Delete 
 
           Extract Interface/SuperClass         抽取出接口和基类
           Replace Heritance with Delegation  将继承改为委托,把用到的父类方法委托给成员变量
 
           Pull Up/Push Down Method      把成员函数在类层次和接口中拉上压下   
           Replace Contrustor with Factory Method 把构造函数改为使用工厂方法
           Encapsure Fields          把成员变量从公共变为私有并生成getter/setter
 
        3.针对成员变量的功能
           Rename、Move、Safe Delete
 
        4.针对函数的功能
           Rename、Move、Safe Delete
 
           Change Sigure 更改函数签名,很贴心的让你更改函数的名称,参数和返回值
           Make Static/Convert to Instance Method :在静态函数与普通函数之间转换
 
  5.针对代码段的功能
   Extract Method            把一段代码抽取为函数
   Replace Temp with Query                          把一个临时变量,一段表达式抽取为函数
          Introduct Field,Parameter,Varible,Constant,把一段表达式转换为成员变量,函数输入参数,临时变量和常量 
 
 
  6.总结
   可见,IDEA也没有把《重构》里提到的所有方式实现,
          最为有用的是Rename(Shift+F6)、Move(F6)、Safe Delete(Alt+Delete)
   和Change Sigure,Extract Method,Pull Up/Push Down Method 
 
 
二、IDEA5.0功能展望
官方文档及试用版下载: http://www.intellij.net/eap/products/idea/irida.jsp
 
总结如下:
 
1.JSP深度支持:
1.JSP 2.0 support
2.'Extract Tag from JSP' refactoring
3.'Extract bean from JSP' refactoring
4.'Extract JSP file' refactoring
5.JSP reformat code
6.TagDir support (JSP2)
7.JSTL support
8.'Optimize Imports' in JSP
9.Support JSP dynamic include pages
10.Structure view for JSP files

2.XML/HTML/CSS支持
  
3.支持SubVersion
 
4.导入Eclipse的项目
 
5.Refactor,Editor,Debugger,CodeComplete等的小范围改进
 
可见,IDEA5主要是针对JSP作了改进,其他的改动不大。虽然不大,但有总比没有好。

     

- 作者: calvinxiu 2004年12月29日, 星期三 17:23  回复(0) |  引用(0)

FindBugs和PMD双倍保湿
       项目进入收尾阶段,自然少不了重构,QA等工作。其中,FindBugsPMD是一动一静的两个代码质量检查工具。
       FindBugs是检查编译之后文件,使用最简单,双击findbugs.bat,把要检查的Class文件加入Archive,把源文件加入Sourc Path,把用到的Class包括WEB-INF/lib/和Tomcat的Common/lib/加入Class Path即可。
       PMD是检查源文件,使用方法:把pmd2.1-src里面的rulesets目录copy过来,当然他的检测不是全都必要的,检出自己需要使用的规则集,修改rulesets.properties文件
rulesets.filenames=rulesets/basic.xml,rulesets/unusedcode.xml,rulesets/imports.xml,
rulesets/codesize.xml,rulesets/design.xml,rulesets/coupling.xml,rulesets/naming.xml,
rulesets/strings.xml
 
       建立一个build.xml
  <property file="rulesets/rulesets.properties"/>
<target name="pmd">
   <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
   <pmd rulesetfiles="${rulesets.filenames}"
    shortFilenames="true" encoding="gb2312">
        <formatter type="html" toFile="pmd_report.html"/>
        <fileset dir=dir="${src.dir}">
            <include name="**/*.java"/>
        </fileset>
    </pmd>
</target>
规则集里面再不需要的规则,可以注释掉。

- 作者: calvinxiu 2004年12月28日, 星期二 15:51  回复(0) |  引用(0)