`
laorer
  • 浏览: 427154 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

<转>SourceMonitor: 代码重构的小工具,大用场

阅读更多
 
http://blog.csdn.net/summerfang/archive/2006/09/04/1176916.aspx

我们在做代码重构时,最麻烦的问题是什么?各人有各人的答案。

对我来说,找到哪一段代码需要重构是最大的麻烦。产品写好了,程序怎么样?怎么判断?对于由整个团队写的代码,全面阅读是不太现实的。开会?程序员最最不喜欢开会了!那可是个技术活。:)

最近,我用了一个小工具,SourceMonitor,取得了意想不到的好效果。推荐大家使用。

<o:p> </o:p>

SourceMonitor是一个源代码衡量工具,由http://www.campwoodsw.com/开发,免费下载。

使用方法如下:

<o:p> </o:p>

Step 1. 创建一个项目,比如,Java项目。

<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 333pt; HEIGHT: 255.75pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title="sm1"></v:imagedata></v:shape>

Step 2 选择目录

<o:p></o:p>

<v:shape id="_x0000_i1026" style="WIDTH: 333pt; HEIGHT: 256.5pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png" o:title="sm2"></v:imagedata></v:shape>

Step 3. 输入项目名

<v:shape id="_x0000_i1027" style="WIDTH: 333.75pt; HEIGHT: 254.25pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image005.png" o:title="sm3"></v:imagedata></v:shape>

Step 4 指定目录

<v:shape id="_x0000_i1029" style="WIDTH: 330pt; HEIGHT: 252pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image007.png" o:title="sm4"></v:imagedata></v:shape>

Step 5 指定检查点,缺省值就可。

<v:shape id="_x0000_i1028" style="WIDTH: 331.5pt; HEIGHT: 254.25pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image009.png" o:title="sm5"></v:imagedata></v:shape>

<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

Step 6 完成

<o:p></o:p>

<v:shape id="_x0000_i1035" style="WIDTH: 332.25pt; HEIGHT: 252.75pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image011.png" o:title="sm6"></v:imagedata></v:shape>

<o:p></o:p>

Step 7 指定本次检查点

<v:shape id="_x0000_i1030" style="WIDTH: 415.5pt; HEIGHT: 259.5pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image013.png" o:title="sm7"></v:imagedata></v:shape>

<o:p></o:p>

Step 8 检查结果

<v:shape id="_x0000_i1031" style="WIDTH: 414.75pt; HEIGHT: 92.25pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image015.png" o:title="sm8"></v:imagedata></v:shape>

<o:p></o:p>

Step 9 最复杂的文件,这应该是首选的准备重构的文件。<v:shape id="_x0000_i1032" style="WIDTH: 414.75pt; HEIGHT: 92.25pt" type="#_x0000_t75"> </v:shape>

<v:shape style="WIDTH: 414.75pt; HEIGHT: 92.25pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image017.png" o:title="sm9"></v:imagedata></v:shape>

Step 10 双击此行可以看到对此文件的评估。

 

<o:p></o:p>

<v:shape id="_x0000_i1033" style="WIDTH: 414.75pt; HEIGHT: 388.5pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image019.png" o:title="sm10"></v:imagedata></v:shape>

<o:p></o:p>

Step 11 打开文件可以直达最复杂的函数。

<v:shape id="_x0000_i1034" style="WIDTH: 414.75pt; HEIGHT: 247.5pt" type="#_x0000_t75"><v:imagedata src="file:///C:\DOCUME~1\SUMMER~1\LOCALS~1\Temp\msohtml1\01\clip_image021.png" o:title="sm11"></v:imagedata></v:shape>

<o:p> </o:p>

你看,现在寻找需要重构的函数简单多了!



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1176916

分享到:
评论

相关推荐

    SourceMonitor: 代码重构的小工具,大用场

    博文链接:https://laorer.iteye.com/blog/48324

    军营旅店管理系统学习参考使用

    国产软件&lt;br&gt;博客主页:http://blog.csdn.net/zwhfyy&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;开发工具:Eclipse 3.1 , jdk 5.0&lt;br&gt;测试环境:tomcat 5.5 , mysql 4.1&lt;br&gt;系统环境:WindowXp&lt;br&gt;&lt;br&gt;软件简介:&lt;br&gt;&lt;br&gt;&lt;br&gt;声明:&lt;br&gt;...

    Windows 脚本技术参考手册

    Windows 脚本技术参考手册(CHM)&lt;br&gt;目录:&lt;br&gt;Windows 脚本技术 &lt;br&gt;&lt;br&gt; Windows 脚本技术&lt;br&gt;&lt;br&gt; JScript&lt;br&gt; VBScript&lt;br&gt; 脚本运行时&lt;br&gt;&lt;br&gt; Dictionary 对象&lt;br&gt; FileSystemObject 对象&lt;br&gt; 脚本 Encoder&lt;br&gt;...

    SourceMonitor 代码重构的小工具

    SourceMonitor 代码重构的小工具

    java网络对战的国际象棋源码

    &lt;br&gt;&lt;br&gt;一、用ant编译源码(所有源文件及目录结构请下载)&lt;br&gt;&lt;br&gt;C:\cs&gt;ant compile&lt;br&gt;Buildfile: build.xml&lt;br&gt;&lt;br&gt;compile:&lt;br&gt;[mkdir] Created dir: C:\cs\build&lt;br&gt;[javac] Compiling 60 source files to C:\cs...

    JPEG软件解码源代码

    JPEG软件解码源代码,下附软件文档部分说明:&lt;br&gt;Overview:&lt;br&gt; Functions provided by the library&lt;br&gt; Outline of typical usage&lt;br&gt;Basic library usage:&lt;br&gt; Data formats&lt;br&gt; Compression details&lt;br&gt; ...

    [原创]用SWT/JFace实现的深路径自动生成软件(附源码)

    作者:talent_marquis&lt;甜菜侯爵&gt;&lt;br&gt;联系方式:&lt;br&gt;talent_marquis@163.com&lt;br&gt;marquis.hou@dextrys.com&lt;br&gt;&lt;br&gt;简单说明:&lt;br&gt;这个小工具对于软件开发用户,特别是Bug fix类型的超小项目会很有用。对于普通用户用处...

    WebChart Source Code

    反编译后的源码&lt;br/&gt;包含一个自己写的测试用例&lt;br/&gt;&lt;br/&gt;// Assembly WebChart, Version 1.1.1.4&lt;br/&gt;&lt;br/&gt;[assembly: AssemblyVersion("1.1.1.4")]&lt;br/&gt;[assembly: AssemblyCopyright("By: Carlos Aguilar Mares ...

    IP协议分析工具ipdog开源代码 ,VC++源代码

    来自http://www.horseb.org/opensource.htm&lt;br&gt;IPDOG帮助:&lt;br&gt;[ -x ] list network interface &lt;br&gt;[ -c ] [ --count ] Exit after receiving 'count' packets&lt;br&gt;[ -i ] [ --interface ] Listen on interface '...

    netstat32源代码

    &lt;br&gt;&lt;br&gt;Source code and latest release are available at:&lt;br&gt;http://salvatoremeschini.cjb.net&lt;br&gt;&lt;br&gt;History:&lt;br&gt; 1.0 - First release&lt;br&gt; 1.1 - Automatic delay management using a command line parameter...

    Proguard4.2.zip(java编码混淆器)

    &lt;br&gt;&lt;br&gt;&lt;br&gt;Development&lt;br&gt;===========&lt;br&gt;&lt;br&gt;If you're interested in changing and extending ProGuard, you can start by&lt;br&gt;compiling the source code yourself:&lt;br&gt;&lt;br&gt; mkdir classes&lt;br&gt; javac -...

    Level of Detail for 3D Graphics

    &lt;br&gt;* Is a complete, practical resource for programmers wishing to incorporate LOD technology into their own systems.&lt;br&gt;* Is an important reference for professionals in game development, computer ...

    zend cracked

    &lt;br&gt;&lt;br&gt;分为php4 php5两个版本&lt;br&gt;&lt;br&gt;关于批量反编译的方法(未验证):&lt;br&gt;&lt;br&gt;方法一:&lt;br&gt;&lt;br&gt;for /R %a in (*.php) do php -c c:\dezender %a&lt;br&gt;&lt;br&gt;方法二:&lt;br&gt;&lt;br&gt;fragment.batset filename=tcdezender....

    C#入门经典中文版(第三版).part08

    c#入门经典中文第三版,针对vs2005,...&lt;br&gt;/***************************************/&lt;br&gt;第1部分&lt;br&gt;http://download.csdn.net/source/427034&lt;br&gt;第2部分&lt;br&gt;http://download.csdn.net/source/427056&lt;br&gt;第3部分&lt;br&gt;...

    Software Testing and Continuous Quality Improvement

    Software Testing and Continuous Quality Improvement&lt;br&gt;&lt;br&gt;SECTION I SOFTWARE QUALITY IN PERSPECTIVE . . . . . . . . . . . . . . . 1&lt;br&gt;1 Quality Assurance Framework. . . . . . . . . . . . . . . . . ....

    subclipse 1.4.1

    Subclipse 1.4.x requires Subversion 1.5.0 version of JavaHL/SVNKit &lt;br&gt;&lt;br&gt;Links for 1.4.x Release:&lt;br&gt;Changelog: http://subclipse.tigris.org/subclipse_1.4.x/changes.html&lt;br&gt;Eclipse update site URL: ...

    C#入门经典中文版(第三版).part07

    c#入门经典中文第三版,针对vs2005,...&lt;br&gt;/***************************************/&lt;br&gt;第1部分&lt;br&gt;http://download.csdn.net/source/427034&lt;br&gt;第2部分&lt;br&gt;http://download.csdn.net/source/427056&lt;br&gt;第3部分&lt;br&gt;...

Global site tag (gtag.js) - Google Analytics