最近想学习一下编译原理,做一个编程规范的检测工具
因为公司对编程规范要求的很严格,然而很多人却都没有规范的习惯,所以很多问题还是存在于代码中。有一次机会想做一个编程规范检测的工具,可惜自己能力有限,很多东西都不会。偶然想到了编译原理,可惜我没学过。拿着同事的一本关于GCC开发工具的书,半天也没搞明白是在干什么,有点郁闷。
我对.Net比较熟悉一些,想用.Net开发一个C语言的编程规范检测工具。大概的构思了一下,感觉还是可以实现的。
首先.Net的正则表达式功能很强大,可以很好的实现基本的规范检测。这里,我并不想做编译器已经实现的功能,也不是简单的代码进行排版或者是美化,而是根据实际公司的要求,对一些常见的编程规范错误进行一条一条的检测。对于每一条规则,完全可以构造正确合理的正则表达式来完成这样的工作。其次,C#的开发效率高,可配置性强,可以分步完成这样的工作,先从简单的规范开始实现,问题应该不大。另外,最让人郁闷的问题可能就是运行效率问题。我最担心的就是多个规范进行同时检测的时候可能会出现资源占用过大,CPU占用过高的情况。这一点可以用实验来证明一下,对于一个1MB以内的C源代码文件,进行一些常规的操作,看会有什么样的结果,我想应该还是可以接受的。
具体的实现,可以会为2部份。一个是命令行的,可以集成到一些开发工具中,这样可以灵活的应用。另一个就是Windows工程式的,可以批量的完成规范检测。而2个部份是可以共用一个核心模块的,因此,核心模块的开发可能比工具本身更重要。
先想这么多吧,下个星期的工作应该比较轻松一点,有时间就自己做做这样的一个小工具。
/\_/\
(=^o^=) Wu.Country@侠缘
(~)@(~) 一辈子,用心做一件事!
--------------------------------
学而不思则罔,思而不学则怠!
================================
posted on 2008-07-03 00:19 Wu.Country@侠缘 阅读(809) 评论(0) 编辑 收藏 举报