源代码统计分析方法和系统技术方案

技术编号:11690317 阅读:84 留言:0更新日期:2015-07-08 00:38
本发明专利技术涉及计算机软件开发技术,特别涉及一种源代码统计方法和实现该方法的源代码统计分析系统。按照本发明专利技术一个实施例的源代码统计分析方法包括下列步骤:第一服务器根据接收自客户端的源代码统计分析请求生成统计分析参数,所述统计分析参数包含待分析的代码模块及其所属代码库的标识符;所述第一服务器选定相应的第二服务器,所述相应的第二服务器存储与所述待分析的代码模块相关联的源代码文件;所述相应的第二服务器在本地对所述相关联的源代码文件进行统计分析;以及所述相应的第二服务器经所述第一服务器将统计分析结果返回给所述客服端。

【技术实现步骤摘要】
【专利说明】源代码统计分析方法和系统专利
本专利技术涉及计算机软件开发技术,特别涉及一种源代码统计方法和实现该方法的源代码统计分析系统。
技术介绍
随着计算机技术广泛应用到社会生活的各个领域,软件开发需求持续攀升。软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程,其包括需求分析、设计、实现和测试等环节。随着软件日益复杂,开发过程中管理的重要性愈来愈重要。现有的软件项目开发过程一般借助通用的源码版本管理软件进行代码管理。Microsoft Visual SourceSafe是美国微软公司出品的一种版本控制系统,其旨在解决软件开发中面临的版本管理问题,以便有效地对项目程序进行管理。该控制系统将所有的项目源代码文件(包括各种文件类型)以特有的方式存入数据库,开发组成员不能对该数据库中的文件进行直接的修改,而是由该版本管理器将该项目的源程序或是子项目的源程序拷贝到各个成员自己的工作目录下进行调试和修改,然后将修改后的项目文件作Checkin提交给VSS,由它进行综合更新。CVS (Concurrent Vers1n System)是另一种常用的代码版本控制软件,其主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS基于客户端/服务器的行为使其可容纳多个用户。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。代码行统计分析是项目管理过程中对开发工作量、效率及质量评估的一项重要手段,但是上述代码管理系统无法快速、全面和准确地获得源代码的统计分析信息。
技术实现思路
本专利技术的一个目的是提供一种源代码统计分析方法,其能够快速、全面和准确地获得源代码的统计分析结果。按照本专利技术一个实施例的源代码统计分析方法包括下列步骤:第一服务器根据接收自客户端的源代码统计分析请求生成统计分析参数,所述统计分析参数包含待分析的代码模块及其所属代码库的标识符;所述第一服务器选定相应的第二服务器,所述相应的第二服务器存储与所述待分析的代码模块相关联的源代码文件;所述相应的第二服务器在本地对所述相关联的源代码文件进行统计分析;以及所述相应的第二服务器经所述第一服务器将统计分析结果返回给所述客服端。优选地,在上述源代码统计分析方法中,所述统计分析参数还包含所述待分析的代码模块的指定生成日期或指定版本号,并且所述相应的第二服务器按照下列方式在本地对所述相关联的源代码文件进行统计分析:通过扫描代码库索引获取与具有所述指定生成日期或指定版本号的待分析的代码模块相关联的文件列表;对于所述文件列表中的每个源代码文件,将其加载到本地内存中并且根据其所属的源代码类型调用相应的语法分析器统计其中的有效代码行、注释行和空行的数量;将所述每个源代码文件中的有效代码行、注释行和空行的数量分类汇总以生成所述统计分析结果。更好地,在上述源代码统计分析方法中,通过开启多线程来并行地统计多个源代码文件的有效代码行、注释行和空行的数量。优选地,在上述源代码统计分析方法中,所述统计分析参数还包含所述待分析的代码模块的指定时间起点和终点,并且所述相应的第二服务器按照下列方式在本地对所述相关联的源代码文件进行统计分析:通过扫描代码库索引获取与生成日期在所述指定时间起点与终点之间的待分析的代码模块相关联的文件列表;对于所述文件列表中的每个源代码文件,将其加载到本地内存中并且根据其所属的源代码类型调用相应的语法分析器统计该源代码文件的有效代码行、注释行和空行的数量变化;将所述每个源代码文件中的有效代码行、注释行和空行的数量变化分类汇总以生成所述统计分析结果。更好地,在上述源代码统计分析方法中,通过开启多线程来并行地获取所述文件列表中的文件。本专利技术的还有一个目的是提供一种源代码统计分析系统,其能够快速、全面和准确地获得源代码的统计分析结果。按照本专利技术一个实施例的源代码统计分析系统包括第一服务器和与所述第一服务器相连的第二服务器,其中,所述第一服务器配置为从客户端接收源代码统计分析请求,并且根据由所述源代码统计分析请求生成的统计分析参数选定相应的第二服务器,所述统计分析参数包含待分析的代码模块及其所属代码库的标识符,所述相应的第二服务器存储与所述待分析的代码模块相关联的源代码文件,所述相应的第二服务器配置为在本地对所述相关联的源代码文件进行统计分析并且所述第一服务器将统计分析结果返回给所述客服端。在现有技术中。待分析的源代码首先需要从服务器端拷贝到客户端,然后由用户通过图形界面选定本地代码文件路径和代码类型,最后才能得到出源代码文件中的有效代码行、注释行及空行数量或变化等分析结果。按照本专利技术的上述实施例,对源代码的统计分析在服务器端进行,因此不仅降低了网络传输耗时,而且也提高了源代码管理的安全性和统计分析结果的精准度。特别是对于不同标签及版本之间的源代码改动情况,按照本专利技术的上述实施例能够准确统计出新增代码行、修改代码行、删除代码行数,从而为软件的优化和修改提供所需的数据统计分析结果。【附图说明】从结合附图的以下详细说明中,将会使本专利技术的上述和其它目的及优点更加完全清楚。图1为按照本专利技术一个实施例的源代码统计分析系统的架构示意图。图2为按照本专利技术一个实施例的源代码统计分析方法的流程图。图3为按照本专利技术另一个实施例的源代码统计分析方法的流程图。【具体实施方式】下面参照其中图示了本专利技术示意性实施例的附图更为全面地说明本专利技术。但本专利技术可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,从而使对本专利技术保护范围的理解更为全面和准确。诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本专利技术的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。 以下借助附图具体描述本专利技术的实施例。图1为按照本专利技术一个实施例的源代码统计分析系统的架构示意图。如图1所示,按照本专利技术一个实施例的源代码统计分析系统10包括一个第一服务器110和多个第二服务器120。示例性地,图中包含I个第一服务器I1和3个第二服务器120,但是第一和第二服务器的数量并不局限于此,实际上其可以是其它的数字。在本实施例中,第一服务器110与客户端20和第二服务器120相连,当前第1页1 2 3 本文档来自技高网
...
源代码统计分析方法和系统

【技术保护点】
一种源代码统计分析方法,其特征在于,包括下列步骤:第一服务器根据接收自客户端的源代码统计分析请求生成统计分析参数,所述统计分析参数包含待分析的代码模块及其所属代码库的标识符;所述第一服务器选定相应的第二服务器,所述相应的第二服务器存储与所述待分析的代码模块相关联的源代码文件;所述相应的第二服务器在本地对所述相关联的源代码文件进行统计分析;以及所述相应的第二服务器经所述第一服务器将统计分析结果返回给所述客服端。

【技术特征摘要】

【专利技术属性】
技术研发人员:庄晓范岸欧鹏李岭赵清尘孙莉于一男
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1