一种提高源文件运行效率的装置和方法制造方法及图纸

技术编号:14810620 阅读:34 留言:0更新日期:2017-03-15 02:36
本发明专利技术公开了一种提高源文件运行效率的装置和方法,从源代码中依次提取各个方法体中的临时变量,并用简短的名称替代原来代码中的临时变量名称,简短名称首选单个字符。以此种方法进行源代码优化,可以提高代码在虚拟机中的运行效率,并且不会给程序员编程的复杂程度造成影响。同时为了保护成员变量不会误替换,增设了成员变量保护的内容。本方案在不影响编程人员工作复杂程度和效率,且不会影响程序运行的前提下,提高了源代码的运行效率。

【技术实现步骤摘要】

本专利技术涉及源文件运行优化领域,具体涉及一种提高源文件运行效率的装置和方法
技术介绍
随着高级编程语言的普及,项目代码量随着业务的越来越复杂,源文件数量不断攀升,而为了便于记忆,不同的开发人员其编程风格往往也差别较大。这一点在变量命名上体现得比较明显。一般初学者喜欢简洁一些的,因为没有太多的引用关系,而更多的人喜欢变量名复杂一点采用单词拼凑的方式命名,这样便于阅读和理解。通常开发者命名的变量名(或者参数名)是有一定意义的单词,或者是单词组合,肯定多余两个字母,我们当然鼓励开发阶段的源代码是友好的,利于传阅的。但是对于临时变量却未必,尤其是开发完毕之后,源文件经过编译之后在运行阶段,长串的变量名对于电脑机器而言其实并无意义。因为机器并不会去理解变量名字本身的意义,变量名字只是一个代号,一个占位符而已,而大量的长串名字变量会影响虚拟机的识别效率。也许一个两个参数名的改动对运行效率不会有提升,但如今的代码几乎每一行都有一个变量,几乎每一个方法都有10来个变量,几乎每个变量都会被引用三五次,所以毫无疑问,大量优化变量名,可以提升虚拟机运行时的效率,变量名应该越短越好。能用一个字母的变量名a,绝不用username。而由于长变量名更利于程序员编写程序,对于虚拟机的运行效率甚至程序本身的优劣也有很大的影响。现有技术多从开发者角度出发,建议开发人员添加注释、取名尽量直观、多用设计模式等,但忽略了机器是没有意识的。注释越多,运行时反而更慢。所以需要一种可以自动将程序员在源代码中使用的长串字符变量名替换为简短字符的技术方案。
技术实现思路
:为了克服上述
技术介绍
的缺陷,本专利技术提供一种提高源文件运行效率的装置和方法,可以自动、准确并且高效的将程序员在源代码中使用的长串字符变量名替换为简短字符。为了解决上述技术问题本专利技术的所采用的技术方案为:一种提高源文件运行效率的方法,包括:提取步骤,提取源文件中一个方法体内的临时变量;判断步骤,判断临时变量是否为重复变量,若否,则进入优化步骤;优化步骤,将临时变量的名称一一替换为优化变量名,优化变量名为按照顺序排列的字符。较佳地,提取步骤还包括:记录源文件中的所有方法体,依次遍历各个方法体。较佳地,优化步骤还包括:在方法体内的临时变量名称全部替换成优化变量名后,重置优化变量名。较佳地,判断步骤还包括,记录源文件中的所有全局变量,将临时变量与所有全局变量进行比较,判断是否为重复变量。较佳地,优化步骤中的优化变量名为按照从小到大或者从大到小的顺序排列的英文字母。本专利技术还提供一种提高源文件运行效率的装置,包括:提取模块,用于提取源文件中一个方法体内的临时变量,并将临时变量输出至判断模块;判断模块,用于判断临时变量是否为重复变量,若否,则将临时变量输出至优化模块;优化模块,用于将临时变量的名称一一替换为优化变量名,优化变量名为按照顺序排列的字符。较佳地,提取模块包括方法记录单元和方法遍历单元,方法记录单元用于记录源文件中的所有方法体,方法遍历单元用于依次遍历各个方法体。较佳地,优化模块包括:优化名记录单元,用于记录优化一个方法体时所使用的所有优化变量名;替换单元用于将临时变量名的名称替换为优化变量名,重置单元,用于在从提取模块接收到一个新的方法体开始优化之前,清空优化名记录单元中记录的上一方法体优化过程中所使用过的所有优化变量名。较佳地,判断模块包括:全局变量记录单元,用于记录源文件中的所有全局变量;比较单元,用于将临时变量与所有全局变量进行比较,若相同,则判断为重复变量。较佳地,优化模块还包括:优化名生成单元,用于按照从小到大或者从大到小的顺序排列的英文字母生成优化变量名。本专利技术的有益效果在于:本专利技术从源代码中依次提取各个方法体中的临时变量,并用简短的名称替代原来代码中的临时变量名称,简短名称名为按照从小到大或者从大到小的顺序排列的英文字母。以此种方法进行源代码优化,可以提高代码在虚拟机中的运行效率,并且不会给程序员编程的复杂程度造成影响。同时为了保护全局变量不会误替换,增设了全局变量保护的方案,当替换临时变量之前,将该临时变量与记录的源代码中的全局变量依次进行对比,若有重名,则判定为重复变量,并不进行替换动作。按照上述方案对源代码中的每个方法体依次进行优化,进入下一个方法优化之前,所记录的优化变量名被清空,这样可用作优化变量名的字符就更多,每次循环进入下一个待优化方法体的时候,优化变量名的记录为空。本方案在不影响编程人员工作复杂程度和效率,且不会影响程序运行的前提下,提高了源代码的运行效率。附图说明图1为本专利技术实施例一的方法流程图;图2位本专利技术实施例一包括提取步骤和优化步骤的详细步骤在内的方法流程图;图3为本专利技术实施例一加入重置步骤的方法流程图;图4为本专利技术实施例一将重复变量保护具体设置为成员变量保护方案的方法流程图;图5为本专利技术实施例二的装置结构示意图;图6为本专利技术实施例二提取模块的结构示意图;图7为本专利技术实施例二优化模块的结构示意图;图8为本专利技术实施例二判断模块的结构示意图;图9为本专利技术实施例二优化模块的结构示意图加入具体优化名生成单元之后的结构示意图。具体实施方式下面结合附图和实施例对本专利技术做进一步的说明。实施例一一种提高源文件运行效率的方法,如图1所示,包括:提取步骤,提取源文件中一个方法体内的临时变量;判断步骤,判断临时变量是否为重复变量,若否,则进入优化步骤;优化步骤,将临时变量的名称一一替换为优化变量名,优化变量名为按照顺序排列的字符。作为本实施例的一个示例记录源文件中的所有方法体,依次遍历各个方法体。具体来说,记录源文件中的所有方法体,依次遍历各个方法体,提取一个方法体中的所有临时变量,完成优化步骤之后,循环将下一个方法体,直到所有方法体依次优化完毕。如图2所示,上述内容的具体步骤包括:步骤1,导入源文件;步骤2,记录所述源文件中的所有方法体;步骤3,提取第n个方法中的所有临时变量,其中n=1,2,3……N,所述N为所述源文件中所述方法体的个数;步骤4,判断第m个临时变量是否为重复变量,若是,则进入步骤6,若否,则进入5,其中m=1,2,3……M,所述M为第n本文档来自技高网
...

【技术保护点】
一种提高源文件运行效率的方法,其特征在于:提取步骤,提取源文件中一个方法体内的临时变量;判断步骤,判断所述临时变量是否为重复变量,若否,则进入优化步骤;优化步骤,将所述临时变量的名称一一替换为优化变量名,所述优化变量名为按照顺序排列的字符。

【技术特征摘要】
1.一种提高源文件运行效率的方法,其特征在于:
提取步骤,提取源文件中一个方法体内的临时变量;
判断步骤,判断所述临时变量是否为重复变量,若否,则进入优
化步骤;
优化步骤,将所述临时变量的名称一一替换为优化变量名,所述
优化变量名为按照顺序排列的字符。
2.根据权利要求1所述的一种提高源文件运行效率的方法,其特
征在于,所述提取步骤还包括:记录所述源文件中的所有方法体,依
次遍历各个所述方法体。
3.根据权利要求2所述的一种提高源文件运行效率的方法,其特
征在于,所述优化步骤还包括:在所述方法体内的临时变量名称全部
替换成所述优化变量名后,重置所述优化变量名。
4.根据权利要求1所述的一种提高源文件运行效率的方法,其特
征在于:所述判断步骤还包括,记录所述源文件中的所有全局变量,
将所述临时变量与所述所有全局变量进行比较,判断是否为重复变量。
5.根据权利要求1所述的一种提高源文件运行效率的方法,其特
征在于:所述优化步骤中的所述优化变量名为按照从小到大或者从大
到小的顺序排列的英文字母。
6.一种提高源文件运行效率的装置,其特征在于,包括:
提取模块,用于提取源文件中一个方法体内的临时变量,并将所
述临时变量输出至判断模块;
判断模块,用于判断所述临时变量是否为重复变量,若否,则将

\t所述...

【专利技术属性】
技术研发人员:周维
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

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

1