文章目录

  • 前言
  • cloc
    • 安装
    • 使用
  • Simian
    • 安装
    • 使用

前言

关于代码重构有很多书籍,理论和工具。准备开个系列边学习边分享。

这次先学习和介绍两个比较简单的工具。

cloc

cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.

cloc主要用于统计代码行数,会统计空格、注释和我们工程中,各项代码的分布情况。显示效果如下:

repo地址:

https://github.com/AlDanial/cloc

安装

release 地址

https://github.com/AlDanial/cloc/releases/tag/1.88

mac可以使用brew安装

brew install cloc

使用

统计文件夹
cloc ./

统计文件

cloc hello.c

git repo的某次提交

prompt> git clone http://git.tiker.net/trees/pudb.gitprompt> cd pudbprompt> cloc 6be804e07a5db

更多信息参考

https://github.com/AlDanial/cloc#quick-start-

Simian

Simian (Similarity Analyser) identifies duplication in Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy source code and even plain text files. In fact, simian can be used on any human readable files such as ini files, deployment descriptors, you name it.

Simian用于检查Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy代码中的重复部分(对于其他文字也同样适用)。基于行的代码匹配,不涉及到语义层面。所以检查出来的代码就是完全重复的。对去除重复代码有一定的帮助。

对于开源或者非商业用途,是可以免费使用的。

A Personal/SOHO License for Simian is US$99.

A project/build server license for Simian is US$499 and entitles you to use Simian on any number of machines solely for the licensed project, or on a single machine for many projects.

安装

下载界面

http://www.harukizaemon.com/simian/get_it_now.html

使用

举例如下:
/d/simian-2.5.10/bin/simian-2.5.10.exe -includes="C:\projects\my-projects\**\*.cs" -threshold=5 -formatter=xml:d:/simian5_cs.xml

-includes 指定了需要检测的文件内容
***.cs表示检测文件夹中所有的cs文件
-threshold指定了重复的行数阈值
-formatter指定了输出的文件

输出的xml文件会指出哪些文件的哪些行会有重复,最后有一个统计数据。

代码重构-了解你的代码:cloc + simian相关推荐

  1. java代码重构工具_代码重构什么意思 Java代码重构的几种模式

    指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果. 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方.在极限编程的方法学中,重构需要单元测试来支持. 在软件工程 ...

  2. java代码重构的思路Java代码重构的几种模式

    Java代码重构的几种模式 Java代码的重构模式主要有三种:重命名方法重构模式.引入解释性变量重构模式.以查询取代临时变量重构模式重命名方法重构模式建议执行如下的步骤来完成:1.建立一个具有新名称的 ...

  3. 代码重构技巧之重复代码

    在我们项目开发的过程中,有时写着写着顺手了,对于一些业务代码,重复编写,导致后来需要修改的时候,得整个项目到处找这些重复代码,这真是一件糟糕的事. 一.重复代码 定义 重复代码并不是指的完全一模一样的 ...

  4. 一个利用正则表达式进行代码重构,去除冗余代码的例子

    refact之前:大量的重复代码 refact之后:用map消除了重复代码. 现在的分支里每次执行检查都要先 var usRegx = /XXXX/. 实际上通过字面量定义了一个正则表达式对象,开销比 ...

  5. 6个实例详解如何把if-else代码重构成高质量代码

    https://blog.csdn.net/qq_35440678/article/details/77939999

  6. QT之计算器代码重构(六)

    首先我们来讲讲为什么要进行代码重构?在一些大的项目中,代码重构是一个必不可少的步骤.因为项目大了,代码也就多了,后期的维护将会很难,所以我们要适当的进行代码重构,让代码的可复用性提高,使软件的设计和架 ...

  7. java编程代码大全_掌握Java编程技巧,代码重构

    代码重构在不改变软件系统外部行为的前提下,改善它的内部结构,通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性. 代码重构目标 持续纠偏和改进软件设计 随 ...

  8. CSS代码重构与优化之路(转)

    CSS代码重构与优化之路 阅读目录 CSS代码重构的目的 CSS代码重构的基本方法 CSS方法论 我自己总结的方法 写CSS的同学们往往会体会到,随着项目规模的增加,项目中的CSS代码也会越来越多,如 ...

  9. 系统重构的原则代码重构的原则

    作者:[美]马丁•福勒(Martin Fowler) 译者:熊节, 林从羽 前一章所举的例子应该已经让你对重构有了一个良好的感觉.现在,我们应该回头看看重构的一些大原则. ##2.1 何谓重构 一线的 ...

  10. 把三千行代码重构为15行

    2019独角兽企业重金招聘Python工程师标准>>> 如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论.如果你认为能够戳中您的G点,那么请随手点 ...

最新文章

  1. ipsec ***野蛮模式应用
  2. Linux系统编程——进程基础知识
  3. 改善DataGrid的默認分頁使其更友好
  4. java设计模式之设计原则⑤迪米特原则
  5. ubuntu下安装mysql 杂记
  6. mysql5.7的资源限制策略_MySQL-5.7密码策略及用户资源限制
  7. python数据分析简答题_Python数据分析与数据可视化-中国大学mooc-试题题目及答案...
  8. Mybatis源码阅读(一):Mybatis初始化1.1 解析properties、settings
  9. 【latex】向量矩阵中的点点点 一个点 三个点 横着点 竖着点 斜着点
  10. 一行代码指定python下载源为清华源【只需修改一次】
  11. 最新实战讲解.htaccess文件rewrite规则
  12. Photo Size Changer三步压缩太大的jpg照片
  13. PDF文档全篇免费翻译技巧
  14. 如何解决BIOS自动更新,不断循环更新,无法进入系统
  15. 解决Qt安装后没有桌面图标
  16. uva 10247 - Complete Tree Labeling
  17. ubuntu 18.04.6 内网PXE实战preseed案例
  18. 十进制和二进制换算。vb版本
  19. Creo/ProE自定义零件外观库保存使用
  20. imx8mqevk OPTEE 全系统构建

热门文章

  1. 什么是SWFObject?
  2. python中rect函数_Rect和RectF函数
  3. VS2019 windows桌面应用_基于.Net Core平台开发WinForms应用程序
  4. xmind8 Pro序列号
  5. linux是手机端还是电脑端,pc端是什么意思(pc端和移动端有什么区别)
  6. 苹果笔记本装win7_小白“复活记”,十多年前的MacBook,曲折安装Win7
  7. 将读书笔记自动生成思维导图(Markdown)
  8. C语言数据结构——求二叉树叶子结点个数
  9. Unity3d--AR/MR 技术
  10. 金蝶移动bos开发教程_移动BOS开发 -- 移动表单