1.一种代码可读性评价方法,其特征在于,包括:
获取待评价代码片段及对应可读性标签;
基于所述待评价代码片段及对应可读性标签构建可读性评价数据集;
将所述可读性评价数据集输入代码可读性评价模型中进行评价预测,得到可读性评价分数;其中,所述代码可读性评价模型包括依次连接的特征提取模块、基学习器模块和代码特征堆叠模块;
所述代码可读性评价模型的处理过程包括:
将可读性评价数据集输入所述特征提取模块中提取特征,得到代码特征数据;其中,所述代码特征数据包括文本特征数据和结构特征数据;
对所述文本特征数据和所述结构特征数据进行标准化处理;
将标准化处理后的各特征数据分别输入基学习器模块中进行特征学习和预测,得到各特征数据对应的预测输出数据;
将预测输出数据作为输入特征数据输入所述代码特征堆叠模块中,所述代码特征堆叠模块自适应学习不同输入特征数据的权重,输出可读性评价分数;
所述文本特征数据包括待评价代码片段的注释和标识符一致性特征AIC、标识符完整性特征II、标识符狭义性特征IN、标识符多义性特征IA以及注释可读性特征CR;
所述结构特征数据包括待评价代码片段的空行比例特征BLR、括号数特征BP、标识符长度特征IL、代码体积特征CV和字符熵特征CE。
2.根据权利要求1所述的一种代码可读性评价方法,其特征在于,所述代码可读性评价模型的训练过程包括:获取训练数据,所述训练数据包括可读性评价数据训练集及对应的可读性评价分数;
构建初始代码可读性评价模型,将所述训练数据输入所述初始代码可读性评价模型中进行评价预测,并以评价预测后的初始训练结果与所述可读性评价数据训练集对应的可读性评价分数之间的损失最小为目标,进行训练,得到所述代码可读性评价模型。
3.一种代码可读性评价系统,其特征在于,包括:
数据采集模块,用于获取待评价代码片段及对应可读性标签;基于所述待评价代码片段及对应可读性标签构建可读性评价数据集;
代码可读性评价模块,用于将所述可读性评价数据集输入代码可读性评价模型中进行评价预测,得到可读性评价分数;其中,所述代码可读性评价模型包括依次连接的特征提取模块、基学习器模块和代码特征堆叠模块;
所述代码可读性评价模型的处理过程包括:
将可读性评价数据集输入所述特征提取模块中提取特征,得到代码特征数据;其中,所述代码特征数据包括文本特征数据和结构特征数据;
对所述文本特征数据和所述结构特征数据进行标准化处理;
将标准化处理后的各特征数据分别输入基学习器模块中进行特征学习和预测,得到各特征数据对应的预测输出数据;
将预测输出数据作为输入特征数据输入所述代码特征堆叠模块中,所述代码特征堆叠模块自适应学习不同输入特征数据的权重,输出可读性评价分数;
所述文本特征数据包括待评价代码片段的注释和标识符一致性特征AIC、标识符完整性特征II、标识符狭义性特征IN、标识符多义性特征IA以及注释可读性特征CR;
所述结构特征数据包括待评价代码片段的空行比例特征BLR、括号数特征BP、标识符长度特征IL、代码体积特征CV和字符熵特征CE。
4.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据权利要求1‑2中任一项所述的一种代码可读性评价方法。
5.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1‑2中任一项所述的一种代码可读性评价方法。