基于代码评分的教程推荐方法、教程推荐装置及终端设备制造方法及图纸

技术编号:31237065 阅读:15 留言:0更新日期:2021-12-08 10:21
本申请适用于人工智能技术领域,提供了一种基于代码评分的教程推荐方法、教程推荐装置、终端设备及存储介质。该教程推荐方法包括:获取待测代码;对待测代码进行评分,得到待测代码的质量分值,其中质量分值包括编码规范分值、可读性分值、可维护性分值、重复度分值以及可测试性分值;检测质量分值是否小于预设质量阈值;若质量分值小于预设质量阈值,则基于质量分值向用户推荐目标教程,目标教程用于为用户的代码编写提供指引。本申请的方法从代码的五个维度对待测代码进行全面评分,得待测代码到质量分值,之后基于质量分值能够为用户推荐更贴近用户需求的教程,有助于用户提升自己所编写的代码的质量。此外,本申请还涉及区块链技术。技术。技术。

【技术实现步骤摘要】
基于代码评分的教程推荐方法、教程推荐装置及终端设备


[0001]本申请涉及人工智能
,尤其涉及一种基于代码评分的教程推荐方法、基于代码评分的教程推荐装置、终端设备及计算机可读存储介质。

技术介绍

[0002]工作不仅仅是运用已掌握的知识解决业务问题的过程,还应该是一个持续学习成长的过程,尤其对于日新月异的互联网行业,只有不断学习新技能才能更好的提高工作效率。
[0003]但是大部分程序员在繁忙的工作之余,并不愿意主动学习。不愿意主动学习除了个人主动学习的意识薄弱以外,程序员自己不知道自己薄弱的点在哪也是一个重要因素。由于不知道自己哪方面的知识有缺失,在面对网上海量的教程时,也就无从下手,导致学习计划不了了之。
[0004]目前,针对代码评分的维度较为单一,因此评分结果准确率较低,利用现有代码评分方法为用户推荐教程,则可能因为推荐准确率较低,出现无法满足用户的需求的问题。

技术实现思路

[0005]有鉴于此,本申请实施例提供了一种基于代码评分的教程推荐方法、基于代码评分的教程推荐装置、终端设备及计算机可读存储介质,能够为用户量身推荐学习教程,以辅助用户提升自己所编写的代码的质量。
[0006]本申请实施例的第一方面提供了一种基于代码评分的教程推荐方法,包括:
[0007]获取待测代码;
[0008]对上述待测代码进行评分,得到上述待测代码的质量分值,上述质量分值包括编码规范分值、可读性分值、可维护性分值、重复度分值以及可测试性分值;
[0009]检测上述质量分值是否小于预设质量阈值;
[0010]若上述质量分值小于上述预设质量阈值,则根据上述质量分值确定上述待测代码的第一特征向量;
[0011]基于上述第一特征向量从预设的视频库中查找目标教程,上述目标教程为上述视频库中与上述第一特征向量匹配的视频;
[0012]向用户推荐上述目标教程。
[0013]本申请实施例的第二方面提供了一种基于代码评分的教程推荐装置,包括:
[0014]获取模块,用于获取用户的待测代码;
[0015]评分模块,用于对上述待测代码进行评分,得到上述待测代码的质量分值,上述质量分值包括编码规范分值、可读性分值、可维护性分值、重复度分值以及可测试性分值;
[0016]检测模块,用于检测上述质量分值是否小于预设质量阈值;
[0017]向量确定模块,用于若上述质量分值小于上述预设质量阈值,则根据上述质量分值确定上述待测代码的第一特征向量;
[0018]视频查找模块,用于基于上述第一特征向量从预设的视频库中查找目标教程,上述目标教程为上述视频库中与上述第一特征向量匹配的视频;
[0019]教程推荐模块,用于向用户推荐上述目标教程。
[0020]本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在上述存储器中并可在终端设备上运行的计算机程序,上述处理器执行上述计算机程序时实现第一方面提供的基于代码评分的教程推荐方法的各步骤。
[0021]本申请实施例的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现第一方面提供的基于代码评分的教程推荐方法的各步骤。
[0022]实施本申请实施例提供的一种基于代码评分的教程推荐方法、基于代码评分的教程推荐装置、终端设备及计算机可读存储介质具有以下有益效果:
[0023]先通过获取用户的待测代码,然后从五个维度对待测代码进行全面的评分,得到待测代码的质量分值,之后根据质量分值确定用户是否存在缺失的知识,即判断质量分值是否大于预设质量阈值。如果质量分值小于预设质量阈值,则说明用户在五个维度上,存在知识缺失,需要为用户推荐适宜其学习的教程,即目标教程。通过用户对目标教程的学习,能够辅助用户提升自己所编写的代码的质量及效率,从而进一步提高用户的工作质量和工作效率。
附图说明
[0024]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]图1是本申请实施例提供的一种基于代码评分的教程推荐方法的实现流程图;
[0026]图2是本申请实施例提供的一种目标教程评分界面图;
[0027]图3是本申请实施例提供的一种基于代码评分的教程推荐装置的结构框图;
[0028]图4是本申请实施例提供的一种终端设备的结构框图。
具体实施方式
[0029]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0030]本申请实施例所涉及的基于代码评分的教程推荐方法,可以由终端设备,例如笔记本电脑、超级移动个人计算机(ultra

mobile personal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)执行。
[0031]本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0032]人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例主要涉及机器学习这一方向,通过机器学习,能够基于用户的待测代码,自动匹配目标教程并向用户进行推荐。
[0033]请参阅图1,图1示出了本申请实施例提供的一种基于代码评分的教程推荐方法的实现流程图。该教程推荐方法包括:
[0034]步骤110、获取待测代码。
[0035]此处,可以获取用户的待测代码,其中用户一般指的是程序员,当然也可以是非程序员,例如学习编程的学生或者利用业余时间学习编程的人员。在获取到用户的测试代码后,可以通过后续的代码评分、阈值比对以及教程查找,为用户推荐量身定制的目标教程,从而辅助用户对自己在代码编写方面的知识进行查缺补漏,以提高用户所编写的代码的质量。
[0036]步骤120、对待测代码进行评分,得到待测代码的质量分值。
[0037]为了提高代码评分的全面性,且结合用户可能出现缺漏的方面,可以从5个维度对待测代码进行全面评分。5个维度具体包括编码规范、可读性、可维护性、重复度以及可测试性。经过每一个维度的评分,即可得到对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于代码评分的教程推荐方法,其特征在于,所述教程推荐方法包括:获取待测代码;对所述待测代码进行评分,得到所述待测代码的质量分值,所述质量分值包括编码规范分值、可读性分值、可维护性分值、重复度分值以及可测试性分值;检测所述质量分值是否小于预设质量阈值;若所述质量分值小于所述预设质量阈值,则根据所述质量分值确定所述待测代码的第一特征向量;基于所述第一特征向量从预设的视频库中查找目标教程,所述目标教程为所述视频库中与所述第一特征向量匹配的视频;向用户推荐所述目标教程。2.根据权利要求1所述的教程推荐方法,其特征在于,所述对所述待测代码进行评分,得到所述待测代码的质量分值,包括:计算所述待测代码与预设模板代码的第一相似度,基于所述第一相似度确定所述待测代码的编码规范分值;基于所述待测代码的嵌套次数、名称规范以及注释完整度确定所述待测代码的可读性分值;基于预设的可维护度量指标对所述待测代码进行评分,得到所述待测代码的可维护性分值;计算所述待测代码中代码块的重复数量,基于所述重复数量确定所述待测代码的重复度分值;逐行扫描所述待测代码,得到每行所述待测代码的可测试性分值,基于每行所述待测代码的可测试性分值确定所述待测代码的可测试性分值。3.根据权利要求2所述的教程推荐方法,其特征在于,在所述基于所述待测代码的嵌套次数、名称规范度以及注释完整度确定所述待测代码的可读性分值之前,还包括:检测所述待测代码中目标字符的字符数量,以确定所述待测代码的嵌套次数;检测所述待测代码中的变量名是否为预设词组,得到名称检测结果;基于所述名称检测结果确定所述待测代码的名称规范度;检测所述待测代码中预设位置是否存在注释,得到注释检测结果;基于所述注释检测结果确定所述待测代码的注释完整度。4.根据权利要求2所述的教程推荐方法,其特征在于,所述计算所述待测代码中代码块的重复数量,基于所述重复数量确定所述待测代码的重复度分值,包括:将所述待测代码按照预设粒度进行划分,得到至少两个代码块;针对每个代码块,计算所述代码块分别与各个其它代码块之间的第二相似度,其中,所述其它代码块为所述至少两个代码块中除所述代码块之外的代码块;基于所述目标相似度对所述待测代码...

【专利技术属性】
技术研发人员:平高明
申请(专利权)人:未鲲上海科技服务有限公司
类型:发明
国别省市:

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

1