文件处理方法、装置、电子设备及计算机可读存储介质与流程

文档序号:29794740发布日期:2022-04-23 18:33阅读:70来源:国知局
文件处理方法、装置、电子设备及计算机可读存储介质与流程

1.本技术涉及计算机软件技术领域,具体而言,本技术涉及一种文件处理方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.耦合度是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。软件工程规定写代码的原则是低耦合,也就是让每个模块,尽可能的独立完成某个特定的子功能;模块与模块之间的接口,尽量的少而简单。
3.随着移动设备操作系统项目开发的推进,新业务会不断的引入,导致移动终端应用程序(app,application)中的代码量越来越大,所有的代码集中在一个项目中,局部代码的变动往往需要修改与其关联的项目的代码,从而导致修改代码的时间越来越长,模块之间代码的耦合性越来越严重。
4.现有技术中的代码解耦合方法,通常需要技术人员进行技术评审和耦合排查,存在代码解耦合的效率低下的问题。


技术实现要素:

5.本技术实施例提供了一种文件处理方法、装置、电子设备及计算机可读存储介质,可以解决现有技术中代码解耦合的效率低下问题。所述技术方案如下:
6.根据本技术实施例的一个方面,提供了一种文件处理方法,该方法包括:
7.获取至少两个存在耦合关系的代码文件,确定代码文件对应的字符串集合;
8.获取字符串集合之间的交集信息;其中,交集信息指示代码文件之间的耦合信息;
9.基于耦合信息生成访问协议;其中,访问协议用于解除代码文件之间的依赖关系;
10.根据访问协议,生成目标代码文件。
11.可选的,上述确定代码文件对应的字符串集合,包括:
12.编译代码文件,得到代码文件的编译文件;其中,编译文件包括组成代码的第一组件和第一组件的路径信息;其中,路径信息指示第一组件所依赖的第二组件;
13.基于第一组件与预设编码字符串的映射关系,将编译文件转换为字符串集合。
14.可选的,上述基于耦合信息生成访问协议,包括:
15.基于耦合信息和路径信息,生成访问协议;其中,访问协议指示第一组件所依赖的第二组件的运算信息。
16.可选的,上述基于耦合信息和路径信息,生成访问协议,包括:
17.确定路径信息所指示的第二组件,并获取第二组件的运算信息;
18.根据运算信息和耦合信息,生成访问协议。
19.可选的,上述根据访问协议,生成目标代码文件,包括:
20.基于映射关系,将字符串集合还原为组件集合;
21.基于访问协议和组件集合,生成目标代码文件。
22.可选的,上述方法,还包括:
23.当存在第二组件所依赖的第三组件,则将第二组件的路径信息添加到编译文件中。
24.可选的,上述方法还包括:
25.确定每一目标代码文件对应的目标字符串集合;
26.当目标字符串集合之间的交集为空,则确定目标代码文件之间不存在耦合关系。
27.根据本技术实施例的另一个方面,提供了一种文件处理装置,该装置包括:
28.确定模块,用于获取至少两个存在耦合关系的代码文件,确定代码文件对应的字符串集合;
29.获取模块,用于获取字符串集合之间的交集信息;其中,交集信息指示代码文件之间的耦合信息;
30.第一生成模块,用于基于耦合信息生成访问协议;其中,访问协议用于解除代码文件之间的依赖关系;
31.第二生成模块,用于根据访问协议,生成目标代码文件。
32.可选的,上述确定模块,用于:
33.编译代码文件,得到代码文件的编译文件;其中,编译文件包括组成代码的第一组件和第一组件的路径信息;其中,路径信息指示第一组件所依赖的第二组件;
34.基于第一组件与预设编码字符串的映射关系,将编译文件转换为字符串集合。
35.可选的,上述第一生成模块,用于:
36.基于耦合信息和路径信息,生成访问协议;其中,访问协议指示第一组件所依赖的第二组件的运算信息。
37.可选的,上述第一生成模块,用于
38.确定路径信息所指示的第二组件,并获取第二组件的运算信息;
39.根据运算信息和耦合信息,生成访问协议。
40.可选的,上述第二生成模块,用于:
41.基于映射关系,将字符串集合还原为组件集合;
42.基于访问协议和组件集合,生成目标代码文件。
43.可选的,上述装置还包括,添加模块,用于:
44.当存在第二组件所依赖的第三组件,则将第二组件的路径信息添加到编译文件中。
45.可选的,上述装置还包括,验证模块,用于:
46.确定每一目标代码文件对应的目标字符串集合;
47.当目标字符串集合之间的交集为空,则确定目标代码文件之间不存在耦合关系。
48.根据本技术实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,上述处理器执行计算机程序以实现本技术实施例第一方面所示方法的步骤。
49.根据本技术实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本技术实施例第一方面所示方法的步骤。
50.根据本技术实施例的一个方面,提供了一种计算机程序产品,其包括计算机程序,
该计算机程序被处理器执行时实现本技术实施例第一方面所示方法的步骤。
51.本技术实施例提供的技术方案带来的有益效果是:
52.本技术实施例通过确定代码文件对应的字符串集合,并获取字符串集合之间的交集信息,进而得到代码文件之间的耦合信息,实现了代码耦合度的有效检测和定位;同时,根据所确定的耦合信息生成访问协议,以生成目标代码文件;由于访问协议可以解除代码文件之间的依赖关系,故上述目标代码文件之间不存在耦合关系,从而实现了代码文件的解耦合。本技术实施例采用访问协议,取代了原代码文件的对象访问方式,达到了高效、准确地解耦合的目的,节省了应用程序的项目开发成本。
附图说明
53.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
54.图1为本技术实施例提供的一种文件处理方法的应用场景示意图;
55.图2为本技术实施例提供的一种文件处理方法的流程示意图;
56.图3为本技术实施例提供的一种文件处理方法中的确定字符串集合的流程示意图;
57.图4为本技术实施例提供的一种文件处理方法中的生成访问协议的流程示意图;
58.图5为本技术实施例提供的一种文件处理方法中的生成目标代码文件的流程示意图;
59.图6为本技术实施例提供的一个示例的文件处理方法的流程示意图;
60.图7为本技术实施例提供的一种文件处理装置的结构示意图;
61.图8为本技术实施例提供的一种文件处理电子设备的结构示意图。
具体实施方式
62.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
63.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。
64.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
65.软件工程规定写代码的原则是“高内聚,低耦合”。内聚是代码块间的独立性,耦合
是各个代码块间的联系。内聚性是一个和耦合性相对的概念,一般而言低耦合性代表高内聚性,反之亦然。耦合性和内聚性都是由提出结构化设计概念的赖瑞
·
康斯坦丁所提出。低耦合性是结构良好程序的特性,低耦合性程序的可读性及可维护性会比较好。
66.对于低耦合,简单的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。
67.代码内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
68.当一个app项目持续开发的时间越长,参与的开发人员越多,代码就会变得耦合起来。代码不规范,模块边界不清晰,重复造轮子,都会导致代码逻辑缠绕难懂,维护成本越来越高,稍不留意就会造成bug(程序错误)。给用户带来不好的使用体验,同时也会让公司对外的技术形象受损。
69.申请人发现,现有技术通常采用人工分析结合手动修改代码的方式进行解耦合。首先需要人工分析出代码见的耦合关系,有时还要画出流程图、进行技术评审,通过之后就需要开发人员手动去把每一处涉及到的代码改掉,把缠绕的代码分开,达到解耦合的目的。最后还要测试人员回归每一处修改的逻辑是否影响业务。与此同时,线上如果出现了解耦bug,从发现问题到解决问题的时间周期长。
70.发明人分析得出,上述方式主要存在以下问题:
71.1、时间长:前期需要大量时间人工分析出各个模块间的功能和业务关系;
72.2、易出错:可能少些了某行代码就会导致业务功能异常;
73.3、问题排查困难:修改的解耦合代码很难去回溯到底是哪行代码导致的;
74.4、成本高:需要后期测试人员不断回归,解耦合可能还需要阻塞发版以等待某项解耦合完成。
75.本技术提供的文件处理方法、装置、电子设备以及计算机可读存储介质,旨在解决现有技术的如上技术问题。
76.本技术实施例提供了一种文件处理方法,该方法可以由终端或服务器实现。本技术实施例涉及的终端或服务器,通过确定代码文件对应的字符串集合,并获取字符串集合之间的交集信息,进而得到代码文件之间的耦合信息,同时,根据所确定的耦合信息生成访问协议,以生成目标代码文件;由于访问协议可以解除代码文件之间的依赖关系,故上述目标代码文件之间不存在耦合关系,从而实现了代码文件的解耦合。本技术实施例可以有效降低代码的维护成本,让代码结构变得更加清晰,减少bug的产生。
77.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
78.如图1所示,本技术的文件处理方法,可以应用于图1所示的场景中,具体的,服务器101可以从客户端102获取至少两个存在耦合关系的代码文件,以确定代码文件对应的字符串集合,并获取字符串集合之间的交集信息以确定代码文件之间的耦合信息;同时,根据
耦合信息生成访问协议并生成解耦合的目标代码文件。本技术实现了高效的代码解耦合,有效节省了应用程序的项目开发成本。
79.图1所示的场景中,上述文件处理方法可以在服务器中进行,在其他的场景中,也可以在终端中进行。
80.本技术领域技术人员可以理解,这里所使用的“终端”可以是手机、平板电脑、pda(personal digital assistant,个人数字助理)、mid(mobile internet device,移动互联网设备)等;“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
81.本技术实施例中提供了一种文件处理方法,如图2所示,该方法包括:
82.s201,获取至少两个存在耦合关系的代码文件,确定代码文件对应的字符串集合。
83.具体的,用于进行文件处理的终端或服务器,可以从预设存储地址获取应用程序的项目文件,其中项目文件包括至少两个代码文件。
84.在一些实施方式中,可以基于代码文件中所包括的基本元素组件,确定代码文件对应的字符串集合;每一代码文件对应一字符串集合。
85.在本技术实施例中,以ios(苹果公司开发的移动操作系统)项目开发为例,用于进行文件处理的终端或服务器,可以从应用程序的工程目录中获取项目文件,可以将项目文件中的所有预编译的文件作为代码文件,还可以将项目文件中的部分预编译的文件作为代码文件。其中,每个代码文件可以对应应用程序的一个功能模块。
86.s202,获取字符串集合之间的交集信息;其中,交集信息指示代码文件之间的耦合信息。
87.具体的,用于进行文件处理的终端或服务器,可以获取字符串集合之间的重叠部分,作为交集信息。其中,字符串集合是由代码文件中的基本元素组件转换而成的,因此根据交集信息可以确定代码文件之间的共用元素组件,进而确定耦合信息。
88.本技术实施例通过将代码文件抽象为字符串集合,可以简单的对字符串集合取交集,就能得到代码文件之间的耦合关系,实现了针对耦合代码的准确、快速的定位。
89.s203,基于耦合信息生成访问协议;其中,访问协议用于解除代码文件之间的依赖关系。
90.具体的,用于进行文件处理的终端或服务器,可以根据耦合信息对耦合的代码文件进行协议替换改写,生成访问协议。
91.其中,以该方法在ios项目开发中的应用为例,访问协议采用了协议语法。协议语法可以用来声明多个方法,只要某个类遵守了这个协议.就相当于拥有这个协议中的所有的方法声明。协议中的方法并不是由协议本身去实现,相反而是由遵循这个协议的其他类来实现。换句话说,协议(myprotocol)只是完成对协议函数的声明而并不管这些协议函数的具体实现。
92.在本技术实施例中,可以基于协议访问替代原代码文件的对象访问形式,以解除代码文件之间的依赖关系。
93.s204,根据访问协议,生成目标代码文件。
94.具体的,用于进行文件处理的终端或服务器,可以基于访问协议替代代码文件中各元素组件的继承、从属等依赖关系,进而生成目标代码文件,使得各目标代码文件之间不存在耦合关系。
95.本技术实施例通过确定代码文件对应的字符串集合,并获取字符串集合之间的交集信息,进而得到代码文件之间的耦合信息,实现了代码耦合度的有效检测和定位;同时,根据所确定的耦合信息生成访问协议,以生成目标代码文件;由于访问协议可以解除代码文件之间的依赖关系,故上述目标代码文件之间不存在耦合关系,从而实现了代码文件的解耦合。本技术实施例采用访问协议,取代了原代码文件的对象访问方式,达到了高效、准确地解耦合的目的,节省了应用程序的项目开发成本。
96.本技术实施例中提供了一种可能的实现方式,如图3所示,上述步骤s201中的确定代码文件对应的字符串集合,包括:
97.(1)编译代码文件,得到代码文件的编译文件;其中,编译文件包括组成代码的第一组件和第一组件的路径信息;其中,路径信息指示第一组件所依赖的第二组件。
98.具体的,用于进行文件处理的终端或服务器,可以包括代码解释模块和业务耦合分析模块;通过代码解释模块对代码文件进行词法和语义分析解析得到代码文件的编译文件;其中,编译文件中包括代码文件所包括的元素组件信息,而元素组件信息包括第一组件以及第一组件的路径信息。
99.在本技术实施例中,以该方法在ios项目开发中的应用为例,上述元素组件信息包括类、对象、属性、变量等第一组件,以及上述第一组件的路径信息。例如当第一组件为a属性,则其对应的路径信息可以是a属性所从属的b类;当第一组件为c类,其对应的路径信息可以是c类所继承的b类。
100.(2)基于第一组件与预设编码字符串的映射关系,将编译文件转换为字符串集合。
101.具体的,业务耦合分析模块可以对编译文件中的元素组件信息,进行转换,得到字符串集合。
102.在本技术实施例中,可以预先设置编码字符串与第一组件的映射关系对照表。例如,类方法对应字符串“+”,对象方法对应字符串
“‑”
,静态c变量对应字符串“c_s”,静态c方法对应字符串“c_s_m”等。业务耦合分析模块根据上述映射关系对照表将编译文件转换为字符串集合。
103.本技术实施例中提供了一种可能的实现方式,上述方法,还包括:
104.当存在第二组件所依赖的第三组件,则将第二组件的路径信息添加到编译文件中。
105.具体的,当业务耦合分析模块检测到第二组件依赖第三组件时,则将第二组件和第三组件全部添加到第一组件的路径信息中。
106.在本技术实施例中,当所述第二组件为宏,且该宏定义中包含另一个宏即第三组件,则需要对第二组件进行展开操作。上述展开操作也就是,将第二组件和第三组件的属性添加都到第一组件的属性信息中。
107.本技术实施例中提供了一种可能的实现方式,如图4所示,上述步骤s203中的基于耦合信息生成访问协议,包括:
108.基于耦合信息和路径信息,生成访问协议;其中,访问协议指示第一组件所依赖的第二组件的运算信息。
109.具体的,用于进行文件处理的终端或服务器还包括代码生成模块,代码生成模块根据耦合信息和路径信息,生成访问协议。其中,生成访问协议的具体步骤将在下文详细介
绍。
110.本技术实施例中提供了一种可能的实现方式,上述基于耦合信息和路径信息,生成访问协议,包括:
111.a、确定路径信息所指示的第二组件,并获取第二组件的运算信息。
112.其中,上述运算信息用于实现第二组件的运算逻辑。
113.b、根据运算信息和耦合信息,生成访问协议。
114.在本技术实施例中,以该方法在ios项目开发中的应用为例,当第一组件为c类,其对应的路径信息可以是c类所继承的b类即第二组件。代码生成模块可以基于b类定制协议d,进而生成访问协议代码;其中,协议d用于声明b类方法;当c类遵守了协议d,则c类拥有了b类方法的声明;并且,访问协议代码使得c类直接实现b类的运算逻辑,而无需通过对象访问对b类进行查询。
115.本技术实施例基于协议访问,替代原代码文件的对象访问形式,解除了代码文件之间的依赖关系。进而实现了高效的代码解耦合,有效节省了应用程序的项目开发成本。
116.本技术实施例中提供了一种可能的实现方式,如图5所示,上述步骤s204中的根据访问协议,生成目标代码文件,包括:
117.(1)基于映射关系,将字符串集合还原为组件集合。
118.具体的,代码生成模块可以通过映射关系对照表进行查询,将字符串集合还原成组件集合。
119.(2)基于访问协议和组件集合,生成目标代码文件。
120.具体的,代码生成模块根据还原的组件集合基于访问协议,生成目标代码文件;其中,目标代码文件是解耦合之后的代码文件。
121.本技术实施例中提供了一种可能的实现方式,上述方法还包括:
122.(1)确定每一目标代码文件对应的目标字符串集合。
123.在本技术实施例中,用于进行文件处理的终端或服务器,可以对解耦合之后的目标代码文件进行验证:可以采用代码解释模块和业务耦合分析模块,将目标代码文件转换为目标字符串集合。
124.(2)当目标字符串集合之间的交集为空,则确定目标代码文件之间不存在耦合关系。
125.具体的,当业务耦合分析模块对目标字符串集合做交集,得到的结果为空时,即说明各目标字符串集合之间没有重叠,则确定目标代码文件之间已经不存在耦合关系。由此可以验证代码文件已经完全解耦合,可以直接运行和编译目标代码文件,以完成对目标代码文件对应的应用程序进行上线。
126.为了更好的理解上述文件处理方法,下面结合图6详细阐述一个本技术的文件处理方法的示例,包括如下步骤:
127.s601,获取至少两个存在耦合关系的代码文件。
128.具体的,用于进行文件处理的终端或服务器,可以从预设存储地址获取应用程序的项目文件。
129.s602,编译代码文件,得到代码文件的编译文件;其中,编译文件包括组成代码的第一组件和第一组件的路径信息;路径信息指示第一组件所依赖的第二组件。
130.具体的,用于进行文件处理的终端或服务器,可以包括代码解释模块和业务耦合分析模块;通过代码解释模块对代码文件进行词法和语义分析解析得到代码文件的编译文件;其中,编译文件中包括代码文件所包括的元素组件信息,该元素组件信息包括第一组件以及第一组件的路径信息。
131.s603,基于第一组件与预设编码字符串的映射关系,将编译文件转换为字符串集合。
132.具体的,业务耦合分析模块可以对编译文件中的元素组件信息进行转换,得到字符串集合。
133.s604,获取字符串集合之间的交集信息;其中,交集信息指示代码文件之间的耦合信息。
134.具体的,业务耦合分析模块可以获取字符串集合之间的重叠部分,作为交集信息。其中,字符串集合是由代码文件中的基本元素组件转换而成的,因此交集信息可以确定代码文件之间的共用元素组件,进而确定耦合信息。
135.s605,基于耦合信息和路径信息,生成访问协议;其中,访问协议指示第一组件所依赖的第二组件的运算信息。
136.其中,用于进行文件处理的终端或服务器,还包括代码生成模块。通过代码生成模块生成访问协议的具体步骤,包括:
137.(1)确定路径信息所指示的第二组件,并获取第二组件的运算信息。
138.其中,上述运算信息用于实现第二组件的运算逻辑。
139.(2)根据运算信息和耦合信息,生成访问协议。
140.在本技术实施例中,以该方法在ios项目开发中的应用为例,当第一组件为c类,其对应的路径信息可以是c类所继承的b类即第二组件。代码生成模块可以基于b类定制协议d,进而生成访问协议代码;其中,协议d用于声明b类方法;当c类遵守了协议d,则c类拥有了b类方法的声明;并且,访问协议代码使得c类直接实现b类的运算逻辑,而无需通过对象访问对b类进行查询。
141.s606,基于映射关系,将字符串集合还原为组件集合。
142.具体的,代码生成模块可以通过映射关系对照表进行查询,将字符串集合还原成组件集合。
143.s607,基于访问协议和组件集合,生成目标代码文件。
144.具体的,代码生成模块根据还原的组件集合基于访问协议,生成目标代码文件;其中,目标代码文件是解耦合之后的代码文件。
145.本技术实施例通过确定代码文件对应的字符串集合,并获取字符串集合之间的交集信息,进而得到代码文件之间的耦合信息,实现了代码耦合度的有效检测和定位;同时,根据所确定的耦合信息生成访问协议,以生成目标代码文件;由于访问协议可以解除代码文件之间的依赖关系,故上述目标代码文件之间不存在耦合关系,从而实现了代码文件的解耦合。本技术实施例采用访问协议,取代了原代码文件的对象访问方式,达到了高效、准确地解耦合的目的,节省了应用程序的项目开发成本。
146.本技术实施例提供了一种文件处理装置,如图7所示,该文件处理装置70可以包括:确定模块701、获取模块702、第一生成模块703和第二生成模块704;
147.其中,确定模块701,用于获取至少两个存在耦合关系的代码文件,确定代码文件对应的字符串集合;
148.获取模块702,用于获取字符串集合之间的交集信息;其中,交集信息指示代码文件之间的耦合信息;
149.第一生成模块703,用于基于耦合信息生成访问协议;其中,访问协议用于解除代码文件之间的依赖关系;
150.第二生成模块704,用于根据访问协议,生成目标代码文件。
151.本技术实施例中提供了一种可能的实现方式,上述确定模块701,用于:
152.编译代码文件,得到代码文件的编译文件;其中,编译文件包括组成代码的第一组件和第一组件的路径信息;其中,路径信息指示第一组件所依赖的第二组件;
153.基于第一组件与预设编码字符串的映射关系,将编译文件转换为字符串集合。
154.本技术实施例中提供了一种可能的实现方式,上述第一生成模块703,用于:
155.基于耦合信息和路径信息,生成访问协议;其中,访问协议指示第一组件所依赖的第二组件的运算信息。
156.本技术实施例中提供了一种可能的实现方式,上述第一生成模块703,用于
157.确定路径信息所指示的第二组件,并获取第二组件的运算信息;
158.根据运算信息和耦合信息,生成访问协议。
159.本技术实施例中提供了一种可能的实现方式,上述第二生成模块704,用于:
160.基于映射关系,将字符串集合还原为组件集合;
161.基于访问协议和组件集合,生成目标代码文件。
162.本技术实施例中提供了一种可能的实现方式,上述装置还包括,添加模块,用于:
163.当存在第二组件所依赖的第三组件,则将第二组件的路径信息添加到编译文件中。
164.本技术实施例中提供了一种可能的实现方式,上述装置还包括,验证模块,用于:
165.确定每一目标代码文件对应的目标字符串集合;
166.当目标字符串集合之间的交集为空,则确定目标代码文件之间不存在耦合关系。
167.本技术实施例的装置可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的装置中的各模块所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
168.本技术实施例通过确定代码文件对应的字符串集合,并获取字符串集合之间的交集信息,进而得到代码文件之间的耦合信息,实现了代码耦合度的有效检测和定位;同时,根据所确定的耦合信息生成访问协议,以生成目标代码文件;由于访问协议可以解除代码文件之间的依赖关系,故上述目标代码文件之间不存在耦合关系,从而实现了代码文件的解耦合。本技术实施例采用访问协议,取代了原代码文件的对象访问方式,达到了高效、准确地解耦合的目的,节省了应用程序的项目开发成本。
169.本技术实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现文件处理方法的步骤,与相关技术相比可实现:本技术实施例通过确定代码文件对应的字符串集合,并获取字符串集合之间的交
集信息,进而得到代码文件之间的耦合信息,实现了代码耦合度的有效检测和定位;同时,根据所确定的耦合信息生成访问协议,以生成目标代码文件;由于访问协议可以解除代码文件之间的依赖关系,故上述目标代码文件之间不存在耦合关系,从而实现了代码文件的解耦合。本技术实施例采用访问协议,取代了原代码文件的对象访问方式,达到了高效、准确地解耦合的目的,节省了应用程序的项目开发成本。
170.在一个可选实施例中提供了一种电子设备,如图8所示,图8所示的电子设备800包括:处理器801和存储器803。其中,处理器801和存储器803相连,如通过总线802相连。可选地,电子设备800还可以包括收发器804,收发器804可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器804不限于一个,该电子设备800的结构并不构成对本技术实施例的限定。
171.处理器801可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
172.总线802可包括一通路,在上述组件之间传送信息。总线802可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
173.存储器803可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
174.存储器803用于存储执行本技术实施例的计算机程序,并由处理器801来控制执行。处理器801用于执行存储器803中存储的计算机程序,以实现前述方法实施例所示的步骤。
175.其中,电子设备包括但不限于:诸如移动电话、笔记本电脑、pad等等移动终端以及诸如数字tv、台式计算机等等固定终端。
176.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
177.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机
设备执行时实现如下情况:
178.获取至少两个存在耦合关系的代码文件,确定代码文件对应的字符串集合;
179.获取字符串集合之间的交集信息;其中,交集信息指示代码文件之间的耦合信息;
180.基于耦合信息生成访问协议;其中,访问协议用于解除代码文件之间的依赖关系;
181.根据访问协议,生成目标代码文件。
182.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
183.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
184.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1