将规则抽取器编码为声纳格式。

sonar-rules-extractor的Python项目详细描述


…-*-重构文本-*- < BR>
======================================
声纳质量分析规则提取器
====================================== < BR>
什么是声纳规则提取器?
================================== < BR>
提取器是从分析工具(如cppcheck)中提取违反规则的工具,
C++测试、Klocwork等,并将它们转换成声纳规则。 < BR>
为什么要将这些规则转换为声纳规则?
============================================ < BR>
当我们对编码规则进行一致性分析时,此分析的输出将为我们提供
违反规则的源文件行与
这违反了规则。必须给出规则"id"与其描述之间的关联
声纳。 < BR>
考虑到质量分析工具中开发的所有自定义规则
需要一个实用程序来导出这些工具的规则。**声纳规则提取器在那里
为此。** < BR>
…注意::sonar默认有五种规则严重性:``blocker``,``critical`,``major`,
``minor`,``info`。但并非所有的分析工具都是如此。例如,在克鲁克工作,
严重程度用数字表示:1(严重)到10(信息)。 < BR>
Sonar Rules Extractor*将有这些级别的映射,因此它们对Sonar有意义。 < BR>
如何安装?
================== < BR>
如果您已经安装了python**setuptools**,并且有一个直接的internet连接,您只需要
运行以下命令: < BR>
根@localhost:~轻松安装-O2声纳规则提取器 < BR>
如果未安装python**setuptools**,请先安装。 < BR>
如果您没有直接连接到Internet,请下载适合您的发行版的软件包
然后安装。:: < BR>
根@localhost:~ tar zxvf声纳规则提取程序*.tar.gz

根@localhost:~ cd声纳规则提取程序*
root@localhost:~ python setup.py安装-o2

根@localhost:。~# < BR>
对于不想运行命令行安装程序的Windows用户,有一个本机的`.exe``包。 < BR>
如何从代码分析工具中提取规则?
============================================== < BR>
Sonar Rules Extractor**附带了一个命令行工具"Sonar Rules Extractor"。你可以运行它
使用`--help``选项获取信息。:: < BR>
root@localhost:~声纳规则提取程序--帮助
用法:声纳规则提取程序[选项]工具<;输入参数…>; < BR>
<;输入参数…>;取决于工具。通常,如果没有提供参数,
读取标准输入。 < BR>
选项:
--版本显示程序的版本号并退出
-h,--帮助显示此帮助消息并退出
-p模块,--plugin=模块
在提取之前,导入指定的模块并
查找继承"extractor"的类,这些类可以是
与内置设备一起使用。这个选项可以
多次使用。
-f,--格式xml漂亮的格式xml输出。
-l,--列出工具列出所有可用的工具。 < BR>
您可以使用以下命令获取可用的受支持工具列表: < BR>
root@localhost:~声纳规则提取器--列表工具
Pylint、Klocwork、CPPTest、Gnatcheck、QAC、QACPP、CPPCheck、Logiscope < BR>
下面是Pylint的一个提取示例::: < BR>
根@localhost:~ pylint--list msgs sonar rules提取器pylint--format xml>;pylint-sonar-rules.xml
根@localhost:~ cat pylint-sonar-rules.xml
<;?xml version="1.0"encoding="utf-8"?gt;
<;!--提取声纳的"Pylint"规则-->;
<;规则>;
<;rule key="c0102"priority="info">;
<;名称>;
<;![CData[黑名单中的姓名"%s"]]>;<;/姓名>;
<;配置键>;
<;![CData[C0102]]>;<;配置键>;
<;category name="reliability"/>;
<;说明>;
<;![CData[在黑名单中列出姓名时使用(未经授权的姓名)。]]>;<;/description>;
<;/规则>;
<;rule key="c0103"priority="info">;
<;名称>;
<;![CData[无效名称"%s"(应与%s匹配)]>;<;/名称>;
……。
<;名称>;
<;![CData[格式字符串字典键应为字符串,而不是%s]>;<;/名称>;
<;配置键>;
<;![CData[W1300]]>;<;配置键>;
<;category name="reliability"/>;
<;说明>;
<;![CData[当使用命名转换说明符的格式字符串与键不是所有字符串的字典一起使用时使用。]]>;<;/description>;
<;/规则>;
<;/规则>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量