System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于软件组件接口追踪的代码优化方法及系统技术方案_技高网

一种基于软件组件接口追踪的代码优化方法及系统技术方案

技术编号:40017338 阅读:5 留言:0更新日期:2024-01-16 16:12
本发明专利技术提供一种基于软件组件接口追踪的代码优化方法及系统,涉及软件开发技术领域,包括:步骤S1,在当前项目中的各软件组件的开发过程中,对各软件组件包含的各接口的来源进行追溯得到相应的追溯结果;步骤S2,在追溯结果表示接口为不可追溯来源的悬空接口时,对应生成代码优化提示,供开发人员进行优化选择;步骤S3,实时接收开发人员反馈的优化选择结果,并在优化选择结果为确认优化时,对应删除悬空接口对应的软件代码。有益效果是能够自动追溯软件组件包含的各接口的来源,及时发现不可追溯来源的悬空接口,并能够实时给出代码优化提示,实现准确彻底的对项目中的冗余代码进行优化处理,保证了项目工程中的代码质量。

【技术实现步骤摘要】

本专利技术涉及软件开发,尤其涉及一种基于软件组件接口追踪的代码优化方法及系统


技术介绍

1、新能源电动汽车的发展以及汽车智能化水平的提高,带来了汽车软件功能组件开发的大规模需求,从车载信息娱乐系统到自动驾驶系统,从电池管理系统到车联网服务,汽车软件的复杂度越来越高。为了应对软件开发的复杂性,各种形式化模型语言被广泛使用,如uml、sysml等。它们提供了一种图形化的方式来描述和理解复杂的系统,从而大大方便了汽车电子软件的开发。但随着项目的迭代,大规模团队开发过程中往往会产生大量的冗余模块,这些模块产生的嵌入式软件代码,不仅占用了宝贵的芯片资源,降低了代码的执行效率,而且还会降低代码的质量,增加了软件组件的测试复杂度。

2、目前,针对项目中的冗余代码,主要是通过模型和代码评审以及人工检查的方式来发现。然而,这种方式需要消耗大量的人员精力,而且由于人为因素,容易产生冗余代码的遗漏。


技术实现思路

1、针对现有技术中存在的问题,本专利技术提供一种基于软件组件接口追踪的代码优化方法,包括:

2、步骤s1,在当前项目中的各软件组件的开发过程中,对各所述软件组件包含的各接口的来源进行追溯得到相应的追溯结果;

3、步骤s2,在所述追溯结果表示所述接口为不可追溯来源的悬空接口时,对应生成代码优化提示,供开发人员进行优化选择;

4、步骤s3,实时接收开发人员反馈的优化选择结果,并在所述优化选择结果为确认优化时,对应删除所述悬空接口对应的软件代码。p>

5、优选的,所述步骤s1包括:

6、步骤s11,提取并根据当前项目中的各所述软件组件包含的输入输出接口快照文件构建有效来源接口库;

7、步骤s12,在各所述软件组件的开发过程中,根据所述有效来源接口库对各所述软件组件包含的各输入接口的来源进行追溯,并判断所述有效来源接口库中是否存在所述输入接口对应的输出接口:

8、若是,则生成表示所述接口为可追溯来源的有效接口的所述追溯结果,随后返回所述步骤s12;

9、若否,则生成表示所述接口为不可追溯来源的所述悬空接口的所述追溯结果,随后转向步骤s2。

10、优选的,所述步骤s12中,通过python脚本语言自动化对各所述软件组件包含的各输入接口的来源进行追溯。

11、优选的,所述步骤s3中,所述优化选择结果为确认优化时,在删除所述悬空接口对应的软件代码之前,还包括终止对应的所述软件组件当前的软件代码生成,并在删除所述悬空接口对应的软件代码之后,继续执行对应的所述软件组件当前的软件代码生成,随后返回所述步骤s1。

12、优选的,所述步骤s3中,在所述优化选择结果为不优化时,还包括继续执行对应的所述软件组件当前的软件代码生成,并对应生成所述悬空接口对应的代码冗余记录并存入悬空接口库,以供开发人员查看处理。

13、优选的,所述代码优化提示为所述悬空接口的名称,或者所述代码优化提示包括所述悬空接口的名称及对应的可视化模型的存储位置,或者所述代码优化提示包括所述悬空接口的名称及对应的软件代码的存储位置。

14、本专利技术还提供一种基于软件组件接口追踪的代码优化系统,应用上述的代码优化方法,所述代码优化系统包括:

15、接口来源追溯模块,用于在当前项目中的各软件组件的开发过程中,对各所述软件组件包含的各接口的来源进行追溯得到相应的追溯结果;

16、优化提示生成模块,连接所述接口来源追溯模块,用于在所述追溯结果表示所述接口为不可追溯来源的悬空接口时,对应生成代码优化提示,供开发人员进行优化选择;

17、代码优化模块,连接所述优化提示生成模块,用于实时接收开发人员反馈的优化选择结果,并在所述优化选择结果为确认优化时,对应删除所述悬空接口对应的软件代码。

18、优选的,还包括有效来源接口库,连接所述接口来源追溯模块,所述接口来源追溯模块包括:

19、数据提取单元,用于提取当前项目中的各所述软件组件包含的输入输出接口快照文件并保存至所述有效来源接口库;

20、来源追溯单元,用于在各所述软件组件的开发过程中,根据所述有效来源接口库对各所述软件组件包含的各输入接口的来源进行追溯,并在所述有效来源接口库中存在所述输入接口对应的输出接口时,生成表示所述接口为可追溯来源的有效接口的所述追溯结果,

21、以及在所述有效来源接口库中不存在所述输入接口对应的输出接口时,生成表示所述接口为不可追溯来源的所述悬空接口的所述追溯结果。

22、优选的,所述代码优化模块包括:

23、优化执行单元,用于在所述优化选择结果为确认优化时,终止对应的所述软件组件当前的软件代码生成,随后删除所述悬空接口对应的软件代码,并在删除所述悬空接口对应的软件代码之后,继续执行对应的所述软件组件当前的软件代码生成。

24、优选的,还包括悬空接口库,连接所述代码优化模块,所述代码优化模块还包括:

25、优化记录单元,用于在所述优化选择结果为不优化时,继续执行对应的所述软件组件当前的软件代码生成,并对应生成所述悬空接口对应的代码冗余记录并存入悬空接口库,以供开发人员查看处理。

26、上述技术方案具有如下优点或有益效果:在软件组件开发过程中,能够自动追溯软件组件包含的各接口的来源,及时发现不可追溯来源的悬空接口,并能够实时给出代码优化提示,以供开发人员查看处理,开发人员只需对处理方式进行选择,节约人力成本的同时有效避免由于人为因素导致的冗余代码的遗漏,实现准确彻底的对项目中的冗余代码进行优化处理,保证了项目工程中的代码质量。

本文档来自技高网...

【技术保护点】

1.一种基于软件组件接口追踪的代码优化方法,其特征在于,包括:

2.根据权利要求1所述的代码优化方法,其特征在于,所述步骤S1包括:

3.根据权利要求2所述的代码优化方法,其特征在于,所述步骤S12中,通过Python脚本语言自动化对各所述软件组件包含的各输入接口的来源进行追溯。

4.根据权利要求1所述的代码优化方法,其特征在于,所述步骤S3中,所述优化选择结果为确认优化时,在删除所述悬空接口对应的软件代码之前,还包括终止对应的所述软件组件当前的软件代码生成,并在删除所述悬空接口对应的软件代码之后,继续执行对应的所述软件组件当前的软件代码生成,随后返回所述步骤S1。

5.根据权利要求1所述的代码优化方法,其特征在于,所述步骤S3中,在所述优化选择结果为不优化时,还包括继续执行对应的所述软件组件当前的软件代码生成,并对应生成所述悬空接口对应的代码冗余记录并存入悬空接口库,以供开发人员查看处理。

6.根据权利要求1所述的代码优化方法,其特征在于,所述代码优化提示为所述悬空接口的名称,或者所述代码优化提示包括所述悬空接口的名称及对应的可视化模型的存储位置,或者所述代码优化提示包括所述悬空接口的名称及对应的软件代码的存储位置。

7.一种基于软件组件接口追踪的代码优化系统,其特征在于,应用如权利要求1-6中任意一项所述的代码优化方法,所述代码优化系统包括:

8.根据权利要求7所述的代码优化系统,其特征在于,还包括有效来源接口库,连接所述接口来源追溯模块,所述接口来源追溯模块包括:

9.根据权利要求7所述的代码优化系统,其特征在于,所述代码优化模块包括:

10.根据权利要求7所述的代码优化系统,其特征在于,还包括悬空接口库,连接所述代码优化模块,所述代码优化模块还包括:

...

【技术特征摘要】

1.一种基于软件组件接口追踪的代码优化方法,其特征在于,包括:

2.根据权利要求1所述的代码优化方法,其特征在于,所述步骤s1包括:

3.根据权利要求2所述的代码优化方法,其特征在于,所述步骤s12中,通过python脚本语言自动化对各所述软件组件包含的各输入接口的来源进行追溯。

4.根据权利要求1所述的代码优化方法,其特征在于,所述步骤s3中,所述优化选择结果为确认优化时,在删除所述悬空接口对应的软件代码之前,还包括终止对应的所述软件组件当前的软件代码生成,并在删除所述悬空接口对应的软件代码之后,继续执行对应的所述软件组件当前的软件代码生成,随后返回所述步骤s1。

5.根据权利要求1所述的代码优化方法,其特征在于,所述步骤s3中,在所述优化选择结果为不优化时,还包括继续执行对应的所述软件组件当前的软件代码生成,并对应生成所述悬空接口对应...

【专利技术属性】
技术研发人员:胡青松胡攀攀季学彬
申请(专利权)人:上海轩邑新能源发展有限公司
类型:发明
国别省市:

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

1