博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
StyleCop源码分析
阅读量:4885 次
发布时间:2019-06-11

本文共 1300 字,大约阅读时间需要 4 分钟。

前言:

    由于最近在进行项目配置,配置内容:根据一个结构体,一一对应地配置xml文件(两个) 写一个和此结构体对应的类(只包含属性,字段)。反复配置后,觉得太繁琐,因此想到使用程序完成自动配置,网上搜索代码信息提取工具无果,最后想到了stylecop(一个开源代码规范校验工具)。

stylecop简介:(摘自:)

ourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性。

SourceAnalysis (StyleCop)不是代码格式化(代码美化)工具,而是代码规范检查工具(Code Review 工具),它不仅仅检查代码格式,而是编码规范,包括命名和注释等。

SourceAnalysis (StyleCop)目的是帮助项目团队执行一系列常用的源代码格式规范,这些规范是关于如何开发布局规整,易读,易维护并且文档良好的优雅代码的 (help teams enforce a common set of best practices for layout, readability, maintainability, and documentation of C# source code)。

SourceAnalysis (StyleCop) 现在包含了 200 个左右的最佳实践规则(best practice rules),这些规则与 Visual Studio 2005 和  Visual Studio 2008 中默认的代码格式化规则是一致的。

SourceAnalysis (StyleCop)可以作为 Visual studio 的插件运行,在VS中(我的是2008)对一个C#文件点击右键后的:

runSourceAnalysis

 信息提取:

    由于stylecop的代码量比较大,实在无耐心看完,因此根据提供的资料和类名进行预分析,最后写下测试代码,最后能正确提取出一个类的所有信息,函数的内容信息可以在函数的document属性中看到。测试代码如下:

修改版的stylecop代码:

 

stylecop源码:

 

说明:由于时间的原因,未能完成stylecop的全面研究,此次的研究成果是:自己编写了CSharpParserAdapter类库,实现根据一个代码文件名或代码字符串,提取出对应的代码结构(很全面的)。

存在问题:

  1 函数的内容是在函数对象的隐藏字段中,可以调试看到,如果需要查看函数内部内容,需调整代码

  2 如果需要查看某个提取结果的具体信息,需要把其强制转换为对应的类的对象查看,这些类型的类位置为:CSharpParser/Elements中

此源码的后续作用:

  由于经过分析,发现此次的研究暂时无法应用于现在的工作,所以停止了分析。但是此次的stylecop的代码分析,可以为以后提取代码结构的需要而很好的准备

分析结果共享说明:

  希望有需要分析源码的朋友,能在此次的分析基础上,完全分析出所有信息,并共享出来

转载于:https://www.cnblogs.com/foreverme/p/3378133.html

你可能感兴趣的文章
Linux下重要日志文件及查看方式
查看>>
mysql技巧之select count的比较
查看>>
JAVA WEB 过滤器
查看>>
Aliyun发送短信接口调用方法
查看>>
Spring Boot 多环境如何配置
查看>>
用户场景
查看>>
Win7 64位安装VS2013后,远程数据库无法访问,内存访问非法
查看>>
ROS注册级别LEVEL0-6,原来使用GRE通道是不要钱滴
查看>>
【模板】矩阵快速幂
查看>>
解决JSONObject.fromObject数字为null时被转换为0
查看>>
python 的类变量和对象变量
查看>>
java中的三大特性
查看>>
RemoteExt 远程验证
查看>>
HDU 2204(容斥原理)
查看>>
删除文件到回收站rm命令
查看>>
[2013.10.11]饥饿的奶牛
查看>>
Struts2 漏洞系列之S2-001分析
查看>>
响应式网站的开发
查看>>
SQLite使用(二)&&数据类型
查看>>
tomcat 启动时设置 java 参数,mark
查看>>