CN109710305A - 一种开发信息的获取方法、装置、存储介质及终端设备 - Google Patents
一种开发信息的获取方法、装置、存储介质及终端设备 Download PDFInfo
- Publication number
- CN109710305A CN109710305A CN201811424217.XA CN201811424217A CN109710305A CN 109710305 A CN109710305 A CN 109710305A CN 201811424217 A CN201811424217 A CN 201811424217A CN 109710305 A CN109710305 A CN 109710305A
- Authority
- CN
- China
- Prior art keywords
- file
- item
- designated character
- obtains
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000004458 analytical method Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 abstract description 6
- 230000018109 developmental process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及软件开发技术领域,尤其涉及一种开发信息的获取方法、获取装置、计算机可读存储介质及终端设备。所述开发信息的获取方法,包括:通过预设路径获取指定项目所对应的项目文件;分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的文件;获取所述第一文件中的代码文本;对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。本发明中,首先通过文件后缀的匹配可找到存放类别的第一文件,随后通过对第一文件中的代码文本进行字符串匹配,即可方便、快速、准确地获取所述指定项目中的所有类别方法,极大地方便了软件开发过程中的调试和测试等工作。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种开发信息的获取方法、获取装置、计算机可读存储介质及终端设备。
背景技术
在IOS软件开发、测试或者调试过程中,往往需要获取各项目中各类的方法,从而方便对方法进行优化、测试、调试等。现有技术中,往往通过 objc_copyClassNamesForImage方法来获取各类的方法,而该方法往往只能够获取到各类中现有的常规方法,无法有效到获取各类中的类别方法,类别方法是指对现有的类进行扩展,所添加的新实例方法,即现有技术中的 objc_copyClassNamesForImage方法无法准确获取程序员在进行IOS开发过程中,为某一类所添加的新实例方法。
综上,如何准确统计各类中的类别方法成为本领域技术人员亟待解决的问题。
发明内容
本发明实施例提供了一种开发信息的获取方法、获取装置、计算机可读存储介质及终端设备,能够准确获取指定项目中各类的所有类别方法,以方便软件开发过程中的调试和测试等工作。
本发明实施例的第一方面,提供了一种开发信息的获取方法,包括:
通过预设路径获取指定项目所对应的项目文件;
分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
获取所述第一文件中的代码文本;
对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
本发明实施例的第二方面,提供了一种开发信息的获取装置,包括:
项目文件获取模块,用于通过预设路径获取指定项目所对应的项目文件;
第一文件确定模块,用于分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
代码文本获取模块,用于获取所述第一文件中的代码文本;
类别方法获取模块,用于对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如前述第一方面所述开发信息的获取方法的步骤。
本发明实施例的第四方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
通过预设路径获取指定项目所对应的项目文件;
分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
获取所述第一文件中的代码文本;
对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,可首先通过预设路径获取指定项目所对应的所有项目文件,随后可分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件,并获取所述第一文件中的代码文本;最后,对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。本发明实施例中,首先通过文件后缀的匹配可找到存放类别的第一文件,随后通过对第一文件中的代码文本进行字符串匹配,即可方便、快速、准确地获取所述指定项目中的所有类别方法,极大地方便了软件开发过程中的调试和测试等工作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种开发信息的获取方法的一个实施例流程图;
图2为本发明实施例中一种开发信息的获取方法在一个应用场景中获取类别名称的流程示意图;
图3为本发明实施例中一种开发信息的获取方法在一个应用场景中获取类别方法的流程示意图;
图4为本发明实施例中一种开发信息的获取装置的一个实施例结构图;
图5为本发明一实施例提供的一种终端设备的示意图。
具体实施方式
本发明实施例提供了一种开发信息的获取方法、获取装置、计算机可读存储介质及终端设备,用于准确获取指定项目中各类的类别方法,以方便软件开发过程中的调试和测试等工作。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供了一种开发信息的获取方法,所述开发信息的获取方法包括:
步骤S101、通过预设路径获取指定项目所对应的项目文件;
可以理解的是,当需要获取某一指定项目中的所有类别方法时,可首先通过预设路径获取该指定项目所对应的所有项目文件。具体地,可首先获取该指定项目的项目地址,即先获取到该指定项目的项目路径,随后可通过递归方法根据所述项目路径进行文件查找,以全面、完整地找到所述项目路径中的所有项目文件,即获取到该指定项目所对应的所有项目文件。
步骤S102、分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
可以理解的是,在IOS等软件开发过程中,对项目中各类进行实例方法的新增时,所新增的实例方法往往存储于具有特定后缀的文件中,如存储于具有.m 后缀的文件中,而所新增的实例方法即为所述类别方法。因而,在获取到该指定项目的所有项目文件后,可对各所述项目文件进行分析,如可对各所述项目文件的文件名或者文件后缀等进行分析与匹配,以查找到具有特定后缀的项目文件,即上述所述的第一文件。
进一步地,本发明实施例中,所述分析所述项目文件,查找到具有特定后缀的第一文件,具体包括:
步骤a、通过pathExtension扩展名提取方法提取各项目文件的文件后缀;
步骤b、将各所述项目文件的文件后缀与所述特定后缀进行匹配分析,查找到具有所述特定后缀的第一文件。
对于上述步骤a和步骤b,可以理解的是,在获取到该指定项目的所有项目文件后,可以通过pathExtension扩展名提取方法来提取各项目文件的文件后缀,在提取到各项目文件的文件后缀后,可分别将各文件后缀与所述特定后缀进行匹配分析,如将各文件后缀与.m后缀进行匹配分析,以查找到具有.m后缀的项目文件,所查找到的具有.m后缀的项目文件即为所需的第一文件。
步骤S103、获取所述第一文件中的代码文本;
本发明实施例中,在查找到具有特定后缀的第一文件后,可进一步读取所述第一文件,以获取所述第一文件中的代码文本,如在查找到具有特定后缀的第一文件后,可打开所述第一文件,并可对所述第一文件中的文件内容进行读取,以获取到所述第一文件中的代码文本。
步骤S104、对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
需要说明的是,在获取到所述第一文件中的代码文本后,可对所述代码文本进行分析,如可对所述代码文本进行逐行的字符串匹配,以根据字符串匹配结果来获取到该指定项目中的所有类别方法。
优选地,本发明实施例中,所述对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法,具体可以包括:
步骤c、遍历读取所述代码文本,提取满足预设条件的代码段;
步骤d、对所提取的代码段进行第一字符串匹配,获取所述指定项目中的类别名称,以及对所提取的代码段进行第二字符串匹配,获取所述类别名称所对应的类别方法。
对于上述步骤c和步骤d,可以理解的是,在获取到所述第一文件中的代码文本后,可对所述代码文本进行遍历读取,并可提取出所述代码文本中满足预设条件的一段或者多段代码段,其中,所述预设条件可以根据类别的写法特性等进行确定,如在IOS软件开发中,类别一般是在以字符串“@implementation”开头,并以字符串“@end”结尾的代码中进行声明,因而,在对所述代码文本进行遍历读取时,可提取出以字符串“@implementation”开头,并以字符串“@end”结尾的一段或者多段代码段。
在提取出满足所述预设条件的一段或者多段代码段后,可结合类别的写法特性分别对所提取的代码段进行字符串匹配,以获取该指定项目中所有类别的类别名称以及各类别所对应的具体类别方法。
进一步地,如图2所示,本发明实施例中,所述对所提取的代码段进行第一字符串匹配,获取所述指定项目中的类别名称,可以包括:
步骤S201、获取所述代码段中第一指定字符的第一位置和第二指定字符的第二位置;
本发明实施例中,在提取出满足所述预设条件的一段或者多段代码段之后,如在提取出以字符串“@implementation”开头,并以字符串“@end”结尾的一段或者多段代码段之后,可根据类别名称的声明特点,进一步从所提取的代码段中提取出满足特定条件的代码行,所述满足特定条件的代码行即为该代码段中声明类别名称的一行或者多行代码。如在IOS软件开发中,类别名称一般声明在以字符串“@implementation”开头,并以“@implementation”之后的第一个右括号“)”结尾的某一行或者多行代码中,因而,在提取出以字符串“@implementation”开头,并以字符串“@end”结尾的一段或者多段代码段后,可进一步从该代码段中提取出以字符串“@implementation”开头,并以“@implementation”之后的第一个右括号“)”结尾的代码行。
在提取出所述代码行之后,则可获取所述代码行中第一指定字符的第一位置和第二指定字符的第二位置,因在IOS等软件开发中,类别名称一般写于括号“()”内,因此,所述第一指定字符可以为左括号“(”,所述第二指定字符可以为右括号“)”。
步骤S202、判断所述第二位置与所述第一位置的位置差是否大于预设值;
在获取到所述代码行中的第一指定字符“(”和第二指定字符“)”后,可进一步判断第一指定字符“(”和第二指定字符“)”之间是否存在字符串,即判断括号“()”内是否存在内容,即在获取到第一指定字符“(”的第一位置和第二指定字符“)”的第二位置后,可根据所述第二位置与所述第一位置的位置差来判断括号“()”中是否有内容,若所述第二位置与所述第一位置的位置差大于预设值的话,所述预设值可以设置为零,因而,当所述第二位置与所述第一位置的位置差为零时,则表明括号“()”内没有内容;而当所述第二位置与所述第一位置的位置差大于零时,则表明括号“()”内有内容。
步骤S203、若所述位置差大于预设值,则获取位于所述第一指定字符与所述第二指定字符之间的第一字符串,并将所获取的第一字符串确定为所述指定项目中的类别名称。
可以理解的是,根据IOS等软件开发特点可知,当所述代码行的括号“()”中有内容时,该括号内的内容即为类别名称。因而,在所述第二位置与所述第一位置的位置差大于预设值,如大于零时,则可获取位于所述第一指定字符“(”与所述第二指定字符“)”之间的第一字符串,即可获取括号“()”内的内容,并将所获取的括号“()”内的内容确定为所述指定项目中某一类别的类别名称。
如在某一具体应用中,所获取到的某一代码段为:
通过对该代码段进行分析可知,@implementation NSString(Number)即为该代码段中声明类别名称的代码行,因而,可首先获取该代码行,随后通过对该代码行进行分析,可得到该代码行中第一指定字符“(”的第一位置和第二指定字符“)”的第二位置,然后通过计算所述第二位置和所述第一位置之间的位置差可知,所述位置差不为零,即该代码行的括号“()”中是有内容的,此时可对该内容进行获取,即可对位于第一指定字符“(”与第二指定字符“)”中的第一字符串进行获取,如获取到“Number”,则“Number”即为该指定项目中某一类别的类别名称。
优选地,如图3所示,所述对所提取的代码段进行第二字符串匹配,获取所述类别名称所对应的类别方法,可以包括:
步骤S301、对所提取的代码段进行遍历读取,获取所述代码段中首次出现的第三指定字符、第四指定字符以及第五指定字符,并记录获取顺序;
步骤S302、根据所述获取顺序,检测所述第四指定字符是否位于所述第三指定字符和所述第五指定字符之间;
步骤S303、若所述第四指定字符不在所述第三指定字符和所述第五指定字符之间,则获取位于所述第三指定字符与所述第五指定字符之间的第二字符串,并将所获取的第二字符串确定为所述类别名称所对应的类别方法。
对于上述步骤S301,可以理解的是,在确定了某一类别的类别名称后,可以对该代码段的剩余代码进行进一步遍历读取并分析,如可对位于类别名称之后的代码进行进一步遍历读取并分析,以获取后续该代码段中首次出现的第三指定字符、第四指定字符以及第五指定字符,即获取在该类名名称之后首次出现的第三指定字符、第四指定字符以及第五指定字符。
在IOS等软件开发中,所述第三指定字符可以为“-”或者“+”,所述第四指定字符可以为“;”,所述第五指定字符可以为“{”。在获取到首次出现的第三指定字符、第四指定字符以及第五指定字符时,可同时记录所述第三指定字符、所述第四指定字符以及所述第五指定字符的获取顺序,即标记所述第三指定字符、所述第四指定字符以及所述第五指定字符的首次出现顺序,如当所述第三指定字符最先获取时,则表明所述第三指定字符最先首次出现,此时可将所述第三指定字符的获取顺序记录为1;当所述第四指定字符最后获取时,则表明所述第四指定字符最后首次出现,此时可将所述第四指定字符的获取顺序记录为3等等。
对于上述步骤S302,可以理解的是,在得到所述第三指定字符、所述第四指定字符以及所述第五指定字符的获取顺序后,则可以根据所述获取顺序判断所述第四指定字符是否位于所述第三指定字符与所述第五指定字符之间,若所述第四指定字符未位于所述第三指定字符与所述第五指定字符之间的话,则表明所述第三指定字符与所述第五指定字符之间的第二字符串即为上述所获取到的类别名称所对应的类别方法的具体声明。
如在上述所获取到的某一代码段中:
通过对类别名称“Number”之后的代码进行遍历读取并分析后可知,在类别名称“Number”之后,最先首次出现的是第三指定字符“-”,其次首次出现的是第五指定字符“{”,最后首次出现的第四指定字符“;”,即有第三指定字符“-”的获取顺序为1,第五指定字符“{”的获取顺序为2,第四指定字符“;”的获取顺序为3,则根据所述获取顺序可知,第四指定字符“;”并不在第三指定字符“-”与第五指定字符“{”之间,因而,第三指定字符“-”与第五指定字符“{”之间的第二字符串“(NSNumber*)lengthASNumber”即可为类别名称“Number”所对应的具体类别方法。
本发明实施例中,可以首先通过预设路径获取指定项目所对应的所有项目文件,随后可分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件,并获取所述第一文件中的代码文本;最后,通过对所述代码文本进行字符串匹配,来获取所述指定项目中的类别方法。本发明实施例中,可首先通过文件后缀的匹配来找到存放类别的第一文件,随后可通过对第一文件中的代码文本进行字符串匹配,即可方便、快速、准确地获取所述指定项目中的所有类别方法,极大地方便了软件开发过程中的调试和测试等工作。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种开发信息的获取方法,下面将对一种开发信息的获取装置进行详细描述。
图4示出了本发明实施例中一种开发信息的获取装置的一个实施例结构图。如图4所示,所述开发信息的获取装置,包括:
项目文件获取模块401,用于通过预设路径获取指定项目所对应的项目文件;
第一文件确定模块402,用于分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
代码文本获取模块403,用于获取所述第一文件中的代码文本;
类别方法获取模块404,用于对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
进一步地,所述第一文件确定模块402,可以包括:
后缀提取单元,用于通过pathExtension扩展名提取方法提取各项目文件的文件后缀;
后缀匹配单元,用于将各所述项目文件的文件后缀与所述特定后缀进行匹配分析,查找到具有所述特定后缀的第一文件。
优选地,所述类别方法获取模块404,可以包括:
代码段提取单元,用于遍历读取所述代码文本,提取满足预设条件的代码段;
类别方法获取单元,用于对所提取的代码段进行第一字符串匹配,获取所述指定项目中的类别名称,以及对所提取的代码段进行第二字符串匹配,获取所述类别名称所对应的类别方法。
可选地,所述代码段提取单元,还用于对所述代码文本进行遍历读取,提取出以字符串“@implementation”开头,并以字符串“@end”结尾的代码段。
进一步地,所述类别方法获取单元,可以包括:
位置获取子单元,用于获取所述代码段中第一指定字符的第一位置和第二指定字符的第二位置;
位置判断子单元,用于判断所述第二位置与所述第一位置的位置差是否大于预设值;
类别名称获取子单元,用于若所述位置差大于预设值,则获取位于所述第一指定字符与所述第二指定字符之间的第一字符串,并将所获取的第一字符串确定为所述指定项目中的类别名称。
优选地,所述类别方法获取单元,可以包括:
指定字符获取子单元,用于对所提取的代码段进行遍历读取,获取所述代码段中首次出现的第三指定字符、第四指定字符以及第五指定字符,并记录获取顺序;
指定字符判断子单元,用于根据所述获取顺序,检测所述第四指定字符是否位于所述第三指定字符和所述第五指定字符之间;
类别方法获取子单元,用于若所述第四指定字符不在所述第三指定字符和所述第五指定字符之间,则获取位于所述第三指定字符与所述第五指定字符之间的第二字符串,并将所获取的第二字符串确定为所述类别名称所对应的类别方法。
图5是本发明一实施例提供的一种终端设备的示意图。如图5所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机可读指令52,例如开发信息的获取程序。所述处理器50执行所述计算机可读指令52时实现上述各个开发信息的获取方法实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,所述处理器50执行所述计算机可读指令52时实现上述各装置实施例中各模块/单元的功能,例如图4所示的模块401至模块404的功能。
示例性的,所述计算机可读指令52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令52在所述终端设备5中的执行过程。
所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5 的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机可读指令以及所述终端设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种开发信息的获取方法,其特征在于,包括:
通过预设路径获取指定项目所对应的项目文件;
分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
获取所述第一文件中的代码文本;
对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
2.根据权利要求1所述的开发信息的获取方法,其特征在于,所述分析所述项目文件,查找到具有特定后缀的第一文件,包括:
通过pathExtension扩展名提取方法提取各项目文件的文件后缀;
将各所述项目文件的文件后缀与所述特定后缀进行匹配分析,查找到具有所述特定后缀的第一文件。
3.根据权利要求1或者2所述的开发信息的获取方法,其特征在于,所述对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法,包括:
遍历读取所述代码文本,提取满足预设条件的代码段;
对所提取的代码段进行第一字符串匹配,获取所述指定项目中的类别名称,以及对所提取的代码段进行第二字符串匹配,获取所述类别名称所对应的类别方法。
4.根据权利要求3所述的开发信息的获取方法,其特征在于,所述对所述代码文本进行遍历读取,提取满足预设条件的代码段,包括:
对所述代码文本进行遍历读取,提取出以字符串“@implementation”开头,并以字符串“@end”结尾的代码段。
5.根据权利要求3所述的开发信息的获取方法,其特征在于,所述对所提取的代码段进行第一字符串匹配,获取所述指定项目中的类别名称,包括:
获取所述代码段中第一指定字符的第一位置和第二指定字符的第二位置;
判断所述第二位置与所述第一位置的位置差是否大于预设值;
若所述位置差大于预设值,则获取位于所述第一指定字符与所述第二指定字符之间的第一字符串,并将所获取的第一字符串确定为所述指定项目中的类别名称。
6.根据权利要求5所述的开发信息的获取方法,其特征在于,所述对所提取的代码段进行第二字符串匹配,获取所述类别名称所对应的类别方法,包括:
对所提取的代码段进行遍历读取,获取所述代码段中首次出现的第三指定字符、第四指定字符以及第五指定字符,并记录获取顺序;
根据所述获取顺序,检测所述第四指定字符是否位于所述第三指定字符和所述第五指定字符之间;
若所述第四指定字符不在所述第三指定字符和所述第五指定字符之间,则获取位于所述第三指定字符与所述第五指定字符之间的第二字符串,并将所获取的第二字符串确定为所述类别名称所对应的类别方法。
7.一种开发信息的获取装置,其特征在于,包括:
项目文件获取模块,用于通过预设路径获取指定项目所对应的项目文件;
第一文件确定模块,用于分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
代码文本获取模块,用于获取所述第一文件中的代码文本;
类别方法获取模块,用于对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述开发信息的获取方法的步骤。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
通过预设路径获取指定项目所对应的项目文件;
分析所述项目文件,查找到具有特定后缀的第一文件,所述具有特定后缀的第一文件为存储类别方法的项目文件;
获取所述第一文件中的代码文本;
对所述代码文本进行字符串匹配,获取所述指定项目中的类别方法。
10.根据权利要求9所述的终端设备,其特征在于,所述分析所述项目文件,查找到具有特定后缀的第一文件,包括:
通过pathExtension扩展名提取方法提取各项目文件的文件后缀;
将各所述项目文件的文件后缀与所述特定后缀进行匹配分析,查找到具有所述特定后缀的第一文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811424217.XA CN109710305A (zh) | 2018-11-27 | 2018-11-27 | 一种开发信息的获取方法、装置、存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811424217.XA CN109710305A (zh) | 2018-11-27 | 2018-11-27 | 一种开发信息的获取方法、装置、存储介质及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109710305A true CN109710305A (zh) | 2019-05-03 |
Family
ID=66255184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811424217.XA Pending CN109710305A (zh) | 2018-11-27 | 2018-11-27 | 一种开发信息的获取方法、装置、存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710305A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290933A1 (en) * | 2012-04-27 | 2013-10-31 | International Business Machines Corporation | Translation verification testing |
CN106970820A (zh) * | 2017-04-26 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 代码存储方法及代码存储装置 |
CN108132790A (zh) * | 2017-12-22 | 2018-06-08 | 广州酷狗计算机科技有限公司 | 检测无用代码的方法、装置及计算机存储介质 |
CN108416216A (zh) * | 2018-02-28 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 漏洞检测方法、装置及计算设备 |
-
2018
- 2018-11-27 CN CN201811424217.XA patent/CN109710305A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290933A1 (en) * | 2012-04-27 | 2013-10-31 | International Business Machines Corporation | Translation verification testing |
CN106970820A (zh) * | 2017-04-26 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 代码存储方法及代码存储装置 |
CN108132790A (zh) * | 2017-12-22 | 2018-06-08 | 广州酷狗计算机科技有限公司 | 检测无用代码的方法、装置及计算机存储介质 |
CN108416216A (zh) * | 2018-02-28 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 漏洞检测方法、装置及计算设备 |
Non-Patent Citations (1)
Title |
---|
SUPERHUNTERS: "Runtime的几个小例子", pages 1 - 14, Retrieved from the Internet <URL:https://blog.csdn.net/dongxiaojie1228/article/details/53063184> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797298B2 (en) | Automating identification of code snippets for library suggestion models | |
US20230038889A1 (en) | Automating generation of library suggestion engine models | |
US10423474B2 (en) | Performing diagnostic tracing of an executing application to identify suspicious pointer values | |
EP3679469A1 (en) | Automating identification of test cases for library suggestion models | |
CN109905385B (zh) | 一种webshell检测方法、装置及系统 | |
WO2019051385A1 (en) | ADDING LIBRARY MODEL | |
CN102422299B (zh) | 信息设备以及防止执行不正当程序代码的方法 | |
CN111124479B (zh) | 配置文件的解析方法、系统及电子设备 | |
US7536662B2 (en) | Method for recognizing and verifying FIFO structures in integrated circuit designs | |
CN111092894A (zh) | 一种基于增量学习的webshell检测方法、终端设备及存储介质 | |
CN103455758A (zh) | 恶意网站的识别方法及装置 | |
CN109298882A (zh) | 接口的管理方法、计算机可读存储介质和终端设备 | |
CN110287700B (zh) | 一种iOS应用安全分析方法及装置 | |
CN110737573B (zh) | 用户界面ui自动化测试的方法和装置 | |
CN111125704B (zh) | 一种网页挂马识别方法及系统 | |
CN109710305A (zh) | 一种开发信息的获取方法、装置、存储介质及终端设备 | |
CN105912452A (zh) | 一种自动化数据分析方法及装置 | |
CN109426702B (zh) | iOS平台文件读取保护方法、存储介质、电子设备及系统 | |
CN113805861B (zh) | 基于机器学习的代码生成方法、代码编辑系统及存储介质 | |
CN115292571A (zh) | 一种App数据采集方法及系统 | |
CN112732589A (zh) | 控件测试方法、装置、设备及存储介质 | |
US9251023B2 (en) | Implementing automated memory address recording in constrained random test generation for verification of processor hardware designs | |
CN112667502A (zh) | 页面测试方法、装置及介质 | |
CN114185803A (zh) | 页面脚本调试方法、装置、计算机可读存储介质及服务器 | |
CN108052654A (zh) | 数据提取方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |