代码文本的处理方法、装置、设备及存储介质

文档序号:104915 发布日期:2021-10-15 浏览:63次 >En<

阅读说明:本技术 代码文本的处理方法、装置、设备及存储介质 (Code text processing method, device, equipment and storage medium ) 是由 张涛 刘锦超 吴海浩 于 2021-07-09 设计创作,主要内容包括:本申请涉及开发辅助技术领域,揭露了代码文本的处理方法、装置、设备及存储介质,包括通过软件开发工具读取用户输入的Python代码;基于D I R函数,对所述Python代码中的变量内容进行提取,并存储至预设的变量中转插件中,所述变量中转插件预部署在所述软件开发工具中;所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到解析内容,所述变量中转插件利用所述解析内容对所述Python代码中对应的所述处理逻辑进行替换。本申请还涉及区块链技术,所述处理逻辑数据存储于区块链中。本申请能使代码中的逻辑运算过程都在变量中转插件中进行,使整篇代码的耦合度降低。(The application relates to the technical field of development assistance, and discloses a method, a device, equipment and a storage medium for processing a code text, wherein the method comprises the steps of reading a Python code input by a user through a software development tool; extracting variable contents in the Python code based on a DIR function, and storing the variable contents in a preset variable transfer plug-in, wherein the variable transfer plug-in is pre-deployed in the software development tool; the variable transfer plug-in extracts processing logic corresponding to the variable from the Python code based on the variable in the variable content, performs logic operation on the variable according to the processing logic to obtain analysis content, and replaces the processing logic corresponding to the Python code with the analysis content. The application also relates to blockchain techniques, the processing logic data being stored in blockchains. The method and the device can enable the logic operation process in the code to be carried out in the variable transfer plug-in unit, and reduce the coupling degree of the whole code.)

代码文本的处理方法、装置、设备及存储介质

技术领域

本申请涉及开发辅助技术领域,尤其涉及代码文本的处理方法、装置、设备及存储介质。

背景技术

在程序的开发过程中,变量的运用是极为重要的,而变量通常就是把程序开发中准备使用的每段数据或其他内容都赋于一个简短、易于记忆的名字,然后通过特定的运算公式计算出结果。变量是程序开发中贯穿全程非常重要的工具。现有技术中,往往将代码及其变量对应的运算公式都糅合在一起,来实现一些功能。当为了完成一功能,利用了大量的变量,且变量对应有大量处理逻辑,在这种情况下,代码会面临高耦合的情况,从而造成代码之间联系紧密,独立性较差,很容易使整个应用程序的拓展性较差。因此,如何降低现有代码高耦合的情况成为了亟待解决的问题。

发明内容

本申请提供了代码文本的处理方法、装置、设备及存储介质,以解决现有技术中代码耦合程度高的问题。

为解决上述问题,本申请提供了代码文本的处理方法,包括:

通过软件开发工具读取用户输入的Python代码;

基于DIR函数,对所述Python代码中的变量内容进行提取,并存储至预设的变量中转插件中,所述变量中转插件预部署在所述软件开发工具中;

所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到解析内容;

所述变量中转插件利用所述解析内容对所述Python代码中对应的所述处理逻辑进行替换。

进一步的,在所述变量中转插件预部署在所述软件开发工具中之后,还包括:

注册监听所述变量中转插件与所述软件开发工具之间的通信事件;

设置所述通信事件的消息类型对应的响应方式。

进一步的,在所述变量中转插件预部署在所述软件开发工具中之后,还包括:

检测所述软件开发工具上是否成功部署有所述变量中转插件;

若检测到未部署有所述变量中转插件,则从服务器端获取所述变量中转插件;

若检测到部署有所述变量中转插件,则再检测所述变量中转插件是否为最新版本,若不是,则从所述服务器端获取最新版本的变量中转插件,并将所述最新版本的变量中转插件部署到所述软件开发工具中。

进一步的,所述变量中转插件基于所述变量内容中的变量,从所述Python代码中获取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到解析内容包括:

获取所述变量对应的数据来源信息和类型信息;

根据所述数据来源信息和类型信息,从所述Python代码中获取所述变量对应的所述处理逻辑;

根据所述处理逻辑和数据来源信息,对所述变量进行对应计算,得到对应的所述解析内容。

进一步的,在所述获取所述变量对应的数据来源信息和类型信息之前,还包括:

获取所述变量内容中的所述变量在所述Python代码中的所处位置;

基于预训练的识别模型,对所述变量在所述Python代码中所处位置的内容进行识别;

根据识别结果,得到所述变量对应的多个来源渠道。

进一步的,所述根据所述数据来源信息和类型信息,从所述Python代码中获取所述变量对应的所述处理逻辑包括:

基于所述变量对应的所述数据来源信息和类型信息,通过正则匹配调取所述Python代码中所述变量对应的算法公式;

将所述算法公式,作为所述变量对应的处理逻辑。

进一步的,在所述根据所述数据来源信息和类型信息,从所述Python代码中获取所述变量对应的所述处理逻辑之后,还包括:

当识别得到多个变量,并获取到对应的处理逻辑后,判断所述多个变量对应的处理逻辑之间是否有关联;

若有关联,则对所述处理逻辑进行逻辑校验,以保证所述变量的正常运用。

为了解决上述问题,本申请还提供代码文本的处理装置,所述装置包括:

读取模块,用于通过软件开发工具读取用户输入的Python代码;

提取模块,用于基于DIR函数,对所述Python代码中的变量内容进行提取,并存储至预设的变量中转插件中,所述变量中转插件预部署在所述软件开发工具中;

计算模块,用于所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到解析内容;

替换模块,用于所述变量中转插件利用所述解析内容对所述Python代码中对应的所述处理逻辑进行替换。

为了解决上述问题,本申请还提供一种计算机设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述所述的代码文本的处理方法。

为了解决上述问题,本申请还提供一种非易失性的计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的代码文本的处理方法。

根据本申请实施例提供的代码文本的处理方法、装置、设备及存储介质,与现有技术相比至少具有以下有益效果:

通过预先将变量中转插件部署在软件开发工具中,通过软件开发工具接收用户输入的代码,利用DIR函数,来对代码中的变量进行提取,并存储至预设的变量中转插件中,所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述变量对应的处理逻辑进行逻辑运算,得到对应的解析内容,所述变量中转插件根据解析内容对所述Python代码中对应的所述处理逻辑进行替换,使代码中的逻辑运算过程都在变量中转插件中进行,使整篇代码的耦合度降低。

附图说明

为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图做一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的代码文本的处理方法的流程示意图;

图2为本申请一实施例提供的代码文本的处理装置的模块示意图;

图3为本申请一实施例的计算机设备的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是是相同的实施例,也不是与其它实施例相互排斥的独立的或备选的实施例。本领域技术人员显式地或隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请提供一种代码文本的处理方法。参照图1所示,为本申请一实施例提供的代码文本的处理方法的流程示意图。

在本实施例中,代码文本的处理方法包括:

S1、通过软件开发工具读取用户输入的Python代码;

具体的,通过软件开发工具可实时接收用户输入的代码,也可接收用户编写完成后整段代码,并且包含代码对应的文件也是可直接读取的。

S2、基于DIR函数,对所述Python代码中的变量内容进行提取,并存储至预设的变量中转插件中,所述变量中转插件预部署在所述软件开发工具中;

在本申请的,利用DIR函数即可获取指定文件中已定义的所有变量,而所述指定文件即本申请中可指接收到的代码,通过dir(moduleName),moduleName指模块名或文件名。例如在接收到用户输入的多个文件或模块,所述文件中包含代码,可直接通过dir(maomao),即抽取文件名为maomao中的变量。当直接用dir(),即可获取当前页面的变量、函数和类等。并根据提取到的变量,在Python代码定位到所述变量所处位置。

进一步的,在所述变量中转插件预部署在所述软件开发工具中之后,还包括:

注册监听所述变量中转插件与所述软件开发工具之间的通信事件;

设置所述通信事件的消息类型对应的响应方式。

具体的,通过监听所述变量中转插件与软件开发工具之间的通信事件,时刻监控变量中转插件获取的数据内容,还可设置与通信事件对应的响应方式,例如,当通信事件的消息类型时A时,则设置与A对应的响应方式进行同步响应,又比如,当通信事件的消息类型是B时,则设置与B对应的响应方式进行异步响应等。

通过监听变量中转插件与软件开发工具之间通信事件,并根据通信事件的消息类型设置对应的响应方式,便于所述变量中转插件与软件开发工具之间的配合。

进一步的,在所述变量中转插件预部署在所述软件开发工具中之后,还包括:

检测所述软件开发工具上是否成功部署有所述变量中转插件;

若检测到未部署有所述变量中转插件,则从服务器端获取所述变量中转插件;

若检测到部署有所述变量中转插件,则再检测所述变量中转插件是否为最新版本,若不是,则从所述服务器端获取最新版本的变量中转插件,并将所述最新版本的变量中转插件部署到所述软件开发工具中。

具体的,为了保证启动的软件开发工具能够为开发人员提供插件服务,需要保证在启动软件开发工具之前,软件开发工具已经集成了变量中转插件。

通过检测插件标识等方式检测软件开发工具中是否成功部署有变量中转插件,若检测到没有变量中转插件,则从服务器端进行重新获取,获取到后进行部署,若检测到有变量中转插件,则进一步检测所述变量中转插件是否为最新版本;

例如,获取所述变量中转插件的最新版本号,判断所述最新版本号与当前已部署的变量中转插件的版本号是否一致,若不一致,则从所述服务器端获取最新的所述变量中转插件,以进行部署;若一致,则变量中转插件为最新的。以给相关开发人员提供最优的开发服务。

通过检测软件开发工具是否部署有变量中转插件且所述变量中转插件是否为最新版本,以保证用户能使用变量中转工具,且为最优的开发服务。

S3、所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到解析内容;

具体的,所述变量中转插件,接收到所述变量内容后,基于所述变量内容中的变量,从Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到对应的解析内容。所述逻辑运算即根据变量所对应的处理逻辑,例如算法公式等,对所述变量进行计算处理。

进一步的,所述变量中转插件基于所述变量内容中的变量,从所述Python代码中获取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到解析内容包括:

获取所述变量对应的数据来源信息和类型信息;

根据所述数据来源信息和类型信息,从所述Python代码中获取所述变量对应的所述处理逻辑;

根据所述处理逻辑和数据来源信息,对所述变量进行对应计算,得到对应的所述解析内容。

具体的,通过接收用户输入的变量对应的数据来源和类型信息,所述变量在变量中转插件中进行可视化展示,用户可点击变量进行属性配置,即配置数据来源和类型信息,根据所述数据来源信息和类型信息,从所述代码中获取所述变量对应的处理逻辑,并最终根据处理逻辑和数据来源信息,对所述变量进行对应计算,得到对应的解析内容。

所述变量的类型信息可分为:数字(int)、字符串(str),列表(list)、元组(tuple)、字典(dict)、函数、类、对象等;

所述数据来源信息可分为:组件、服务、缓存、URL、常量、变量本身等。在本申请中,当所述数据来源为缓存中存储的,且所述对应的类型信息为函数时,调出函数对应的处理逻辑,根据所述处理逻辑和数据来源信息,对所述变量进行对应计算,得到解析内容。例如当所述变量的类型为函数,且所述数据来源为常量时,即所述变量通过利用所述函数来对所述常量进行计算得到最终的内容,在该情况下,利用变量内容中变量所在位置处,获取相对应的函数,来作为处理逻辑。

根据所述处理逻辑和数据来源信息,对所述变量进行对应计算,例如现有简单变量a,变量b为直接赋值的,b=1,其对应的处理逻辑为a=3+b,对变量a进行对应计算即a=3+b,得到解析内容a=4。

通过变量中转插件在得到变量对应的处理逻辑后,对其进行对应计算,实现在变量中转插件中进行计算,并将变量对应的处理逻辑进行替换,使得代码文本中的代码解耦。

进一步的,在所述获取所述变量对应的数据来源信息和类型信息之前,还包括:

获取所述变量内容中的所述变量在所述Python代码中的所处位置;

基于预训练的识别模型,对所述变量在所述Python代码中所处位置的内容进行识别;

根据识别结果,得到所述变量对应的多个来源渠道。

具体的,基于变量内容,获取所述变量在代码中的位置;通过预训练的识别模型,来识别所述代码所处位置的上下文内容,最终得到多个识别结果,即对应的来源渠道,得到多个来源渠道后,生成待选列表,以供用户最终确认变量的具体来源渠道。

所述识别模型通过大量零散的变量、变量对应的部分代码语句及其对应的来源渠道进行训练,通过获取到变量对应的语句,根据识别模型,得到多个可能的来源渠道,供用户选择。

即当获取到变量及其对应的部分代码内容,通过识别模型进行识别,得到多个接近的来源渠道,供用户选择,以确定最终的来源渠道。

通过识别模型,来得到变量可能对应的多个渠道,实现提高了处理效率。

再进一步的,所述根据所述数据来源信息和类型信息,从所述Python代码中获取所述变量对应的所述处理逻辑包括:

基于所述变量对应的所述数据来源信息和类型信息,通过正则匹配调取所述Python代码中所述变量对应的算法公式;

将所述算法公式,作为所述变量对应的处理逻辑。

具体的,在根据所述变量对应的所述数据来源信息和类型信息的基础上,通过采用正则匹配的方式来获取所述代码中所述变量对应的算法公式,将得到是算法公式作为变量对应的处理逻辑。

当通过正则匹配方式,为匹配到对应的算法公式时,所述变量中转插件还可接收用户输入的处理逻辑,即接收用户输入的算法公式。

通过正则匹配的方式,来提取变量对应的算法公式,进一步提高了处理效率

进一步的,在所述根据所述数据来源信息和类型信息,从所述Python代码中获取所述变量对应的所述处理逻辑之后,还包括:

当识别得到多个变量,并获取到对应的处理逻辑后,判断所述多个变量对应的处理逻辑之间是否有关联;

若有关联,则对所述处理逻辑进行逻辑校验,以保证所述变量的正常运用。

在本申请中,由于整篇代码中不会只有一个变量,所以当识别到多个变量时,判断变量对应的处理逻辑之间是否有关联,即其处理逻辑之间是否有交互,若存在,即对相关联的处理逻辑进行逻辑校验。具体的,例如

int a,b,c;

a=12;

b=3+a;

c=a+b;

printf(“%d”,a+b+c);在上述简单的代码段中,a,b,c对应的处理逻辑之间就存在关联,所以需要对变量对应的处理逻辑进行逻辑校验,所述逻辑校验也主要是判断所述处理逻辑之间是否有冲突,若无冲突,则逻辑校验通过,所述各变量能正常运用。若有冲突,则逻辑校验不通过,则将逻辑校验未通过的变量,通过软件开发工具发送信息至用户,以提醒用户。

通过对多个相关联变量的处理逻辑进行逻辑校验,以保证代码的顺利运行,同时协助了开发人员进行校验,提高了校验效率。

S4、所述变量中转插件利用所述解析内容对所述Python代码中对应的所述处理逻辑进行替换。

具体的,将解析内容对所述Python代码中对应的所述变量对应的处理逻辑进行替换,作为一种可能的实现方式,通过直接赋值,替换掉原有的处理逻辑。

需要强调的是,为了进一步保证数据的私密性和安全性,所述处理逻辑的所有数据还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

通过预先将变量中转插件部署在软件开发工具中,通过软件开发工具接收用户输入的代码,利用DIR函数,来对代码中的变量进行提取,并存储至预设的变量中转插件中,所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述变量对应的处理逻辑进行逻辑运算,得到对应的解析内容,所述变量中转插件根据解析内容对所述Python代码中对应的所述处理逻辑进行替换,使代码中的逻辑运算过程都在变量中转插件中进行,使整篇代码的耦合度降低。

如图2所示,是本申请代码文本的处理装置的功能模块图。

本申请所述代码文本的处理装置100可以安装于电子设备中。根据实现的功能,所述代码文本的处理装置100可以包括读取模块101、提取模块102、计算模块103和替换模块104。本申请所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。

在本实施例中,关于各模块/单元的功能如下:

读取模块101,用于通过软件开发工具读取用户输入的Python代码;

具体的,读取模块101通过软件开发工具可实时接收用户输入的代码,也可接收用户编写完成后整段代码,并且包含代码对应的文件也是可直接读取的。

提取模块102,用于基于DIR函数,对所述Python代码中的变量内容进行提取,并存储至预设的变量中转插件中,所述变量中转插件预部署在所述软件开发工具中;

具体的,提取模块102利用DIR函数即可获取指定文件中已定义的所有变量,而所述指定文件即本申请中可指接收到的代码,通过dir(moduleName),moduleName指模块名或文件名。

进一步的,所述代码文本的处理装置100还包括注册模块和响应设置模块;

所述注册模块,用于注册监听所述变量中转插件与所述软件开发工具之间的通信事件;

所述响应设置模块,用于设置所述通信事件的消息类型对应的响应方式。

通过注册模块和响应设置模块的配合,监听变量中转插件与软件开发工具之间通信事件,并根据通信事件的消息类型设置对应的响应方式,便于所述变量中转插件与软件开发工具之间的配合。

进一步的,所述代码文本的处理装置100还包括检测模块、获取模块和版本检测模块;

所述检测模块,用于检测所述软件开发工具上是否成功部署有所述变量中转插件;

所述插件获取模块,用于若检测到未部署有所述变量中转插件,则从服务器端获取所述变量中转插件;

所述版本检测模块,用于若检测到部署有所述变量中转插件,则再检测所述变量中转插件是否为最新版本;

所述插件获取模块,还用于当所述版本检测模块检测出不是最新版本时,则从所述服务器端获取最新版本的变量中转插件,并将所述最新版本的变量中转插件部署到所述软件开发工具中。

具体的,所述检测模块通过检测插件标识等方式检测软件开发工具中是否成功部署有变量中转插件,若检测到没有变量中转插件,所述插件获取模块则从服务器端进行重新获取,获取到后进行部署;若检测模块检测到有变量中转插件,则进一步利用所述版本检测模块检测所述变量中转插件是否为最新版本。

通过检测模块、获取模块和版本检测模块的配合,检测软件开发工具是否部署有变量中转插件且所述变量中转插件是否为最新版本,以保证用户能使用变量中转工具,且为最优的开发服务。

计算模块103,用于所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到解析内容。

具体的,替换模块103在所述变量中转插件,接收到所述变量内容后,基于所述变量内容中的变量,从Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述处理逻辑对所述变量进行逻辑运算,得到对应的解析内容。

进一步的,所述计算模块103包括获取子模块、处理逻辑获取子模块和计算子模块;

所述获取子模块,用于获取所述变量对应的数据来源信息和类型信息;

所述处理逻辑获取子模块,用于根据所述数据来源信息和类型信息,从所述Python代码中获取所述变量对应的所述处理逻辑;

所述计算子模块,用于根据所述处理逻辑和数据来源信息,对所述变量进行对应计算,得到对应的所述解析内容。

具体的,所述获取子模块通过接收用户输入的变量对应的数据来源和类型信息,所述变量在变量中转插件中进行可视化展示,用户可点击变量进行属性配置,即配置数据来源和类型信息。

通过获取子模块、处理逻辑获取子模块和计算子模块的配合,变量中转插件在得到变量对应的处理逻辑后,对其进行对应计算,实现在变量中转插件中进行计算,并将变量对应的处理逻辑进行替换,使得代码文本中的代码解耦。

再进一步的,所述计算模块103还包括位置获取子模块和识别子模块;

所述获取子模块,用于获取所述变量内容中的所述变量在所述Python代码中的所处位置;

所述识别子模块,用于基于预训练的识别模型,对所述变量在所述Python代码中所处位置的内容进行识别;根据识别结果,得到所述变量对应的多个来源渠道。

具体的,所述获取子模块基于变量内容,获取所述变量在代码中的位置;所述识别子模块通过预训练的识别模型,来识别所述代码所处位置的上下文内容,最终得到多个识别结果,即对应的来源渠道,得到多个来源渠道后,生成待选列表,以供用户最终确认变量的具体来源渠道。

通过位置获取子模块和识别子模块的配合,利用识别模型,来得到变量可能对应的多个渠道,实现提高了处理效率。

再进一步的,所述处理逻辑获取子模块包括正则提取单元;

所述正则提取单元,用于基于所述变量对应的所述数据来源信息和类型信息,通过正则匹配调取所述Python代码中所述变量对应的算法公式;

将所述算法公式,作为所述变量对应的处理逻辑。

具体的,正则提取单元在根据所述变量对应的所述数据来源信息和类型信息的基础上,通过采用正则匹配的方式来获取所述代码中所述变量对应的算法公式,将得到是算法公式作为变量对应的处理逻辑。

所述正则提取单元通过正则匹配的方式,来提取变量对应的算法公式,进一步提高了处理效率。

进一步的,所述计算模块103还包括关联判断子模块和逻辑校验子模块;

所述关联判断子模块,用于当识别得到多个变量,并获取到对应的处理逻辑后,判断所述多个变量对应的处理逻辑之间是否有关联;

所述逻辑校验子模块,用于若有关联,则对所述处理逻辑进行逻辑校验,以保证所述变量的正常运用。

通过关联判断子模块和逻辑校验子模块的配合对多个相关联变量的处理逻辑进行逻辑校验,以保证代码的顺利运行,同时协助了开发人员进行校验,提高了校验效率。

替换模块104,用于所述变量中转插件利用所述解析内容对所述Python代码中对应的所述处理逻辑进行替换。

具体的,将解析内容对所述Python代码中对应的所述变量对应的处理逻辑进行替换,作为一种可能的实现方式,通过直接赋值,替换掉原有的处理逻辑。

通过采用上述装置,所述代码文本的处理装置100通过读取模块101、提取模块102、计算模块103和替换模块104的配合使用,使代码中的逻辑运算过程都在变量中转插件中进行,使整篇代码的耦合度降低。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。

所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如代码文本的处理方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述代码文本的处理方法的计算机可读指令。

所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。

本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例代码文本的处理方法的步骤,通过预先将变量中转插件部署在软件开发工具中,通过软件开发工具接收用户输入的代码,利用DIR函数,来对代码中的变量进行提取,并存储至预设的变量中转插件中,所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述变量对应的处理逻辑进行逻辑运算,得到对应的解析内容,所述变量中转插件根据解析内容对所述Python代码中对应的所述处理逻辑进行替换,使代码中的逻辑运算过程都在变量中转插件中进行,使整篇代码的耦合度降低。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的代码文本的处理方法的步骤,通过预先将变量中转插件部署在软件开发工具中,通过软件开发工具接收用户输入的代码,利用DIR函数,来对代码中的变量进行提取,并存储至预设的变量中转插件中,所述变量中转插件基于所述变量内容中的变量,从所述Python代码中提取所述变量对应的处理逻辑,所述变量中转插件根据所述变量对应的处理逻辑进行逻辑运算,得到对应的解析内容,所述变量中转插件根据解析内容对所述Python代码中对应的所述处理逻辑进行替换,使代码中的逻辑运算过程都在变量中转插件中进行,使整篇代码的耦合度降低。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种编译日志的分析方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!