代码处理方法及装置、存储介质、电子设备制造方法及图纸

技术编号:34391202 阅读:21 留言:0更新日期:2022-08-03 21:19
本公开属于计算机技术领域,涉及一种代码处理方法及装置、存储介质、电子设备。该方法包括:对多段功能代码进行代码织入得到目标类,并对目标类进行解析处理得到与目标类对应的目标接口;创建空类,并声称空类实现目标接口;利用目标类对空类进行继承,以提示目标类之间的调用关系。本公开利用目标类对空类的继承即可实现织入设计模式在编写代码时的智能提示功能,摆脱了先前设计过程中手动查阅不同类的方法,再调用的繁琐过程,节约了人力成本和时间成本,提升了代码编写和设计的效率,提示目标类之间的调用关系的方式侵入性非常低,不会带来处理性能上的负担,而且动态编程语言都能够支持,更加容易实现和应用,丰富了智能提示功能的应用场景。功能的应用场景。功能的应用场景。

【技术实现步骤摘要】
代码处理方法及装置、存储介质、电子设备


[0001]本公开涉及计算机
,尤其涉及一种代码处理方法与代码处理装置、计算机可读存储介质及电子设备。

技术介绍

[0002]在面向对象的语言中,为了复用类之间的方法,往往会通过继承的方法来复用。但是,实际情况是希望方法像一个个组件一样可以按需插装到类里。而类和类之间不一定是继承的关系,织入设计模式就是用来解决这一问题的。
[0003]织入模式在大多数语言中会分别实现A类和B类的方法,然后再在运行时将B类的方法一个个的赋值到A类上,以实现A类可以调用B类的方法。但是,现有的织入设计模式存在的最大问题是A类和B类在编译时无法获知相互的关联性,使得在进行代码编写时无法获得智能提示。
[0004]鉴于此,本领域亟需开发一种新的代码处理方法及装置。
[0005]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0006]本公开的目的在于提供一种代码处理方法、代码处理装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的无法获知代码关联性和无法智能提示的技术问题。
[0007]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0008]根据本专利技术实施例的第一个方面,提供一种代码处理方法,所述方法包括:
[0009]对多段功能代码进行代码织入得到目标类,并对所述目标类进行解析处理得到与所述目标类对应的目标接口;
[0010]创建空类,并声称所述空类实现所述目标接口;
[0011]利用所述目标类对所述空类进行继承,以提示所述目标类之间的调用关系。
[0012]在本专利技术的一种示例性实施例中,所述对多段功能代码进行代码织入得到目标类,包括:
[0013]运行多段功能代码,并对所述多段功能代码进行代码织入得到目标类。
[0014]在本专利技术的一种示例性实施例中,所述对所述多段功能代码进行代码织入得到目标类,包括:
[0015]在所述多段功能代码中确定目标功能代码以及除所述目标功能代码之外的其他功能代码;
[0016]将所述其他功能代码织入到所述目标功能代码得到目标类。
[0017]在本专利技术的一种示例性实施例中,所述对所述目标类进行解析处理得到与所述目
标类对应的目标接口,包括:
[0018]利用反射技术对所述目标类进行解析处理得到与所述目标类对应的目标接口。
[0019]在本专利技术的一种示例性实施例中,所述声称所述空类实现所述目标接口,包括:
[0020]若所述多段功能代码为第一语言,利用与所述第一语言对应的目标文件声称所述空类实现所述目标接口。
[0021]在本专利技术的一种示例性实施例中,所述第一语言包括:python,所述目标文件包括:pyi文件。
[0022]在本专利技术的一种示例性实施例中,所述声称所述空类实现所述目标接口,包括:
[0023]若所述多段功能代码为第二语言,利用与所述第二语言对应的目标关键字声称所述空类实现所述目标接口。
[0024]在本专利技术的一种示例性实施例中,所述第二语言包括:TypeScript,所述目标关键字包括:implements。
[0025]根据本专利技术实施例的第二个方面,提供一种代码处理装置,包括:
[0026]代码织入模块,被配置为对多段功能代码进行代码织入得到目标类,并对所述目标类进行解析处理得到与所述目标类对应的目标接口;
[0027]空类声称模块,被配置为创建空类,并声称所述空类实现所述目标接口;
[0028]关系提示模块,被配置为利用所述目标类对所述空类进行继承,以提示所述目标类之间的调用关系。
[0029]在本专利技术的一种示例性实施例中,所述对多段功能代码进行代码织入得到目标类,包括:
[0030]运行多段功能代码,并对所述多段功能代码进行代码织入得到目标类。
[0031]在本专利技术的一种示例性实施例中,所述对所述多段功能代码进行代码织入得到目标类,包括:
[0032]在所述多段功能代码中确定目标功能代码以及除所述目标功能代码之外的其他功能代码;
[0033]将所述其他功能代码织入到所述目标功能代码得到目标类。
[0034]在本专利技术的一种示例性实施例中,所述对所述目标类进行解析处理得到与所述目标类对应的目标接口,包括:
[0035]利用反射技术对所述目标类进行解析处理得到与所述目标类对应的目标接口。
[0036]在本专利技术的一种示例性实施例中,所述声称所述空类实现所述目标接口,包括:
[0037]若所述多段功能代码为第一语言,利用与所述第一语言对应的目标文件声称所述空类实现所述目标接口。
[0038]在本专利技术的一种示例性实施例中,所述第一语言包括:python,所述目标文件包括:pyi文件。
[0039]在本专利技术的一种示例性实施例中,所述声称所述空类实现所述目标接口,包括:
[0040]若所述多段功能代码为第二语言,利用与所述第二语言对应的目标关键字声称所述空类实现所述目标接口。
[0041]在本专利技术的一种示例性实施例中,所述第二语言包括:TypeScript,所述目标关键字包括:implements。
[0042]根据本专利技术实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例中的代码处理方法。
[0043]根据本专利技术实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的代码处理方法。
[0044]由上述技术方案可知,本公开示例性实施例中的代码处理方法、代码处理装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
[0045]在本公开的示例性实施例提供的方法及装置中,利用目标类对空类的继承即可实现织入设计模式在编写代码时的智能提示功能,摆脱了先前设计过程中需要手动查阅不同类的方法,再进行调用的繁琐过程,节约了人力成本和时间成本,提升了代码编写和设计的效率。更进一步的,提示目标类之间的调用关系的方式侵入性非常低,不会带来处理性能上的负担,而且动态编程语言都能够支持,更加容易实现和应用,丰富了智能提示功能的应用场景。
[0046]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0047]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码处理方法,其特征在于,所述方法包括:对多段功能代码进行代码织入得到目标类,并对所述目标类进行解析处理得到与所述目标类对应的目标接口;创建空类,并声称所述空类实现所述目标接口;利用所述目标类对所述空类进行继承,以提示所述目标类之间的调用关系。2.根据权利要求1所述的代码处理方法,其特征在于,所述对多段功能代码进行代码织入得到目标类,包括:运行多段功能代码,并对所述多段功能代码进行代码织入得到目标类。3.根据权利要求2所述的代码处理方法,其特征在于,所述对所述多段功能代码进行代码织入得到目标类,包括:在所述多段功能代码中确定目标功能代码以及除所述目标功能代码之外的其他功能代码;将所述其他功能代码织入到所述目标功能代码得到目标类。4.根据权利要求1所述的代码处理方法,其特征在于,所述对所述目标类进行解析处理得到与所述目标类对应的目标接口,包括:利用反射技术对所述目标类进行解析处理得到与所述目标类对应的目标接口。5.根据权利要求1所述的代码处理方法,其特征在于,所述声称所述空类实现所述目标接口,包括:若所述多段功能代码为第一语言,利用与所述第一语言对应的目标文件声称所述空类实现所述目标接口。6.根据权利要求5所述的代码处理方法,其特征在于,所述第一语言包括...

【专利技术属性】
技术研发人员:方嘉铭
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1