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

JCSC

阅读更多

JCSC

I.        简介

JCSCJava Coding Standard Checker――Java编码标准检验程序的简称。JCSC是检查源代码的强大工具,它用来检查高度可定义的代码标准和可能的坏代码。

编码标准包括了对类、接口、区段、参数等等的命名规则,同样也规定了类型(类/接口)的结构性方案,比如在哪里放置区段,在methods之前还是之后以及什么顺序。这个顺序通过可视化(图形)或者某些类型(实例、类、常数)来确定。对于程序来说也是一样适用的。这些规则都是高度个性化的。通过定义在代码中放置空白区域的位置和使用花括号的位置,可以大大增强可读性。正确的JavaDoc可以被强制分为几个级别。除了这些,它可以在代码中寻找漏洞潜在的bug—比如空的catch或排在末端的block、非默认的变换、类型“异常”的抛出、慢速代码,等等。

JCSC的特点:图形化的用户界面(UI)使规则设置轻松;命令行界面;可以产生JavaDoc风格的网页和兼容CruiseControlAnt task。同样,加入了NCSS/CCN的规格可以更轻易的评估代码质量。

 

开发状况:5 - Production/Stable

运行环境:网络环境、控制台(基于文本的)

面向用户:开发者

证:OSI 认证过的GNU通用公共许可证(GNU General Public LicenseGPL)

自然语言:英语

操作系统:独立于操作系统

编程语言:Java

    题:软件开发/编译工具、文档、质量保证

 

II.      基本扩展-规则编辑器用户界面(UI)

图形化的规则编辑器可以协助用户创建合适的规则。根据不同的tab规则可以分为三个组。

Ant

Ant是很棒的制作工具。为了支持并且能够加以利用AntJCSC提供了Ant Task

Ant Task提供了两种应用方法:

1.解析一个文件,例如作为支持AntIDE中的一个插件。

2.解析整个包中的类树,例如在一个编译中,检查整个项目。输出形式类似于JavaDoc,并且可以用一个支持XSLT的浏览器来查看(分别通过了支持SP1的、支持IE6+的和支持Mozilla1+的环境下的测试)。

IntelliJ IDEA

IntelliJ IDEA是一个非常强大的商业化的IDE。这个插件仍在开发中(欢迎任何形式的反馈),但是很稳定。

CruiseControl

CruiseControl是一个开放源代码的延续集成(Continuous Integration)工具。JCSC可以轻易的与CruiseControl集成,这就意味着,每次检入后,软件将会分析你的代码库,结果将会出现在CruiseControl网页上。

 

III. 安装

命令行

1.由下载页中得到最新的JCSC.zip包。

2.解压至合适的文件夹,它将会创建一个jcsc文件夹。

3.设置一个JCSC_HOME环境变量,指向jcsc文件夹。

4.将JCSC_HOME/bin加入到系统PATH中。

5.运行JCSC需要J2SE1.3或者更高版本。

6.确认JAVA_HOME/bin在系统的PATH中。

Ant

1.安装JCSC的命令行

2.将JCSC.jargnu-regexp.jarwxrcesImp1.jarxml-apis.jar放入Ant库文件夹。

IntelliJ IDEA

1.由下载页中获得最新JCSC.zip包(如果没有安装命令行版本)。

2.由下载页中获得最新的intellijJCSC.zip包。

3.将intellijJCSC.zip解压至<IntelliJIDEA>/plugins文件夹。

4.将JCSC.zip解压至某个临时文件夹——如果你没有安装JCSC的话。

5.由库文件夹中拷贝JCSC.jar<IntelliJIDEA>/plugins/jcsc/lib文件夹。

6.打开IntelliJ IDEA,进入设置(Ctrl+Alt+S),点击intellijJCSC

    — 设置Rules文件——强制性的;

    — 设置Fail Severity——可选的;

    — 设置Fail Vio/NCSS的比例——可选的。

IV.  基本使用

命令行

安装好之后,你可以像使用其它命令一样使用它。注意命令行jcsc工具无法递归的扫描整个文件夹,除非你使用JCSC Ant Task。如果使用了-r的标记,JCSC首先会在JCSC_HOME/rules文件夹中寻找,如果找不到,它会试图在绝对路径中寻找:

jcsc [option] <file>|stream

根据你的平台,用jcsc.bat 或者jcsc.sh替换掉jcsc,并附带上下面的选项

-h:显示帮助文件

-r<rule>:由文件系统中读取rule文件

-j<rule>:由jcsc.jar文件中读取rule文件

规则编辑器

JCSC_HOME/bin文件夹里运行规则编辑器脚本。用户读取的默认设置都存储于jar文件里。你可以修改它们,并把它们存入一个文件。你也可以打开已存在的文件,通过用户界面或者通过在命令行中传输rules文件名变量来实现。

 

规格

— NCSS

NCSS是非注释性源码统计(Non Commenting Source Statements)的首字母缩写词。这里的数字代表了一个源文件中的纯功能码的行数。比较这个数字和违规的代码数量,可以容易的评估出代码的质量。

— CCN

CCN是几何测圆法复杂度数量(Cyclometric Complexity Number)的首字母缩写词。数字表示代码流被分成多少个分支。默认的每个method有一个CCN

 

参考:

http://jcsc.sourceforge.net/

http://freshmeat.net/projects/jcsc

分享到:
评论

相关推荐

    JCSC-源码.rar

    【标题】"JCSC-源码.rar"是一个压缩文件,其中包含了名为"JCSC-源码.jar"的Java归档(JAR)文件。这个标题暗示我们正在处理一个与Java编程语言相关的项目或库的源代码。JAR文件是Java平台特有的,用于打包和分发Java...

    Java Coding Standard Checker (JCSC)-开源

    JCSC是用于Java源代码的高度可配置的检查工具。 它检查是否符合可定义的编码标准,例如命名约定和代码结构。 还会发现编码错误的迹象,并发现潜在的错误。 JCSC的灵感来自皮棉。

    准确率最高的指标博易大师指标源码信管家指标博易大师期货软件指标.doc

    代码中计算了JCSC指标, 即`JCSC:=(M-1)/(M+1)*DEA/(1-2/(M+1))`。JCSC指标是技术分析中的一种常用指标,用于判断市场趋势和交易机会。 8、DD指标 代码中计算了DD指标, 即`DD:=(MACD/2+(DEA*(M-1)/(M+1)))/(1-2/...

    MACD交易系统通达信指标公式源码.doc

    13. 金死叉价:(JCSC*(SHORT+1)*(LONG+1)-(LONG+1)*(SHORT-1)*EMA(C,SHORT)+(SHORT+1)*(LONG-1)*EMA(C,LONG))/(2*((LONG+1)-(SHORT+1))): 金死叉价是 MACD 指标的死叉点,计算方法是 JCSC 的调整值。 14. 柱变向价...

    JAVA编程思想(第三版)习题源码

    1. `tij.jcsc`: 这可能是一个自定义的类文件或者程序,用于运行或测试书中习题的解决方案。可能包含作者实现的特定算法或数据结构,有助于读者理解并验证习题答案。 2. `BangBean.mf`: 这通常是一个Java的manifest...

    eclipse javacard 开发插件

    传统的开发流程通常依赖于命令行工具,如JCDK提供的jcsc(Java Card Security Compiler)和jcpkcs11(Java Card PKCS#11 Provider)。然而,jcde插件的出现极大地简化了这一过程,使得开发人员能够在Eclipse的图形...

    赢顺云指标公式源码文华财经指标分水岭指标.doc

    6. `JCSC`计算的是金叉和死叉发生时的DIFF值,这是通过对DEA进行特殊计算得出的。 7. `DD`计算的是当明日MACD等于当前MACD时的DIFF值。 8. `DIF拐点`计算的是今日DIFF等于自身时的对应股价,这有助于识别价格变化的...

    赢顺云指标公式源码文华财经指标MACD主图多空分界.doc

    4. "金死叉价"是基于JCSC(金叉死叉计算值)计算得出的交叉点。 5. "MACD走平时股价"是计算MACD趋于平稳时的股价预测值。 6. "DIF穿零价"是DIF穿越DEA零线的价格点。 7. "ZJ"和"HY"是DIF大于DEA和DIF小于DEA的布尔...

    最准确的指标期货指标公式文华财经指标最牛的波段指标.doc

    JCSC和DD是两个辅助计算值,用来确定金死叉价,即DIF和DEA交叉时的价格。DIF拐头价和柱变向价则分别反映了DIF的转折点和MACD柱状图方向改变的价位,这两个价位的变化对识别趋势反转至关重要。当柱变向价高于DIF拐头...

    赢顺云指标公式源码文华财经指标多空买卖绝品.doc

    3. **ROC(变动速率指标)的变种**:JCSC和DD两个变量似乎是对原始MACD指标的改进,它们计算了DIF的变动速度,可能是为了更灵敏地捕捉趋势变化。DIF拐头价和柱变向价这两个变量也是基于相同原理,可能用于预判DIF线...

    Think in java第三版代码

    1. `tij.jcsc`:这可能是《Think in Java》书中某个章节或习题的Java类文件,包含了具体的程序实现。类文件通常包含了方法和变量定义,是Java程序编译后的二进制格式。 2. `BangBean.mf`:这个文件名可能暗示它是一...

    (完整word)Access上机操作练习题.doc

    Access 上机操作练习题 本文档为 Access 上机操作练习题,包含多个练习题,涵盖 Access 数据库管理系统的...5. 将JCSC文件夹下的文本文件”Test.txt”中的数据导入到表中。 知识点:Access 数据导入、文本文件导入等。

    xml_基础学习完全手册

    XML_JCSC可能是一个关于XML基础的教程或者课程,涵盖了XML的基本概念、语法和实际应用。通过学习这个教程,你可以深入理解XML的各个方面,包括创建XML文档、解析XML、验证XML结构以及利用XML进行数据交换的技巧。 ...

    Java Code Meta Checker-开源

    MetaCheck是一个Java代码检查实用程序,可将来自各种代码检查工具(jcsc,pmd,checkstyle,findbugs等)的结果转换为每个检查器和生成的元结果的统一xml / html结果。

Global site tag (gtag.js) - Google Analytics