The Readability Spectrum: Patterns, Issues, and Prompt Effects in LLM-Generated Code

📄 arXiv: 2605.13280v1 📥 PDF

作者: Hengzhi Ye, Fengyuan Ran, Weiwei Xu, Minghui Zhou

分类: cs.SE, cs.AI

发布日期: 2026-05-13


💡 一句话要点

构建代码可读性评估模型,揭示LLM生成代码的可读性模式与影响因素

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码可读性 大型语言模型 软件开发 提示工程 代码质量评估

📋 核心要点

  1. 现有研究主要关注LLM生成代码的功能性,忽略了可读性这一影响人工审查和长期维护的关键非功能属性。
  2. 论文构建综合可读性模型,从文本、结构、程序和视觉四个维度量化代码可读性,并分析LLM生成代码的可读性模式。
  3. 实验表明,LLM生成代码总体可读性与人工编写代码相当,但存在独特的可读性问题,提示工程对可读性的影响有限。

📝 摘要(中文)

大型语言模型(LLM)正在改变软件开发,但对生成代码的可读性这一关键非功能属性的研究不足。鉴于LLM生成的代码仍需人工审查,理解其可读性,特别是与人工编写代码的对比以及提示设计的作用至关重要。本文旨在系统地研究LLM生成代码的可读性。为此,我们建立了一个综合的可读性模型,整合了代码的文本、结构、程序和视觉特征。基于该模型,我们评估了主流LLM在从World of Code (WoC)和LeetCode等大型代码库中提取的5869个场景下生成的代码的可读性。我们发现,当前LLM生成的代码总体可读性与人工编写的代码相当,但显示出明显的可读性问题模式。我们进一步研究了不同提示维度如何影响LLM生成代码的可读性,发现函数签名、约束和风格描述是最有影响的因素,但提示设计的总体影响仍然有限。我们的研究结果表明,一方面,LLM生成代码在可读性方面至少与人工编写的代码相当,验证了其从非功能角度系统集成到软件工作流程中的潜力;另一方面,独特的可读性问题模式和提示工程的有限有效性揭示了潜在的技术债务,突出了未来研究改进LLM生成代码的可读性并确保长期可维护性的必要性。

🔬 方法详解

问题定义:论文旨在解决LLM生成代码的可读性评估问题。现有方法主要关注代码的功能正确性,忽略了代码的可读性,而可读性对于代码的维护、理解和协作至关重要。人工评估可读性成本高昂且主观,缺乏自动化的可读性评估方法。

核心思路:论文的核心思路是构建一个综合的代码可读性模型,该模型能够从多个维度(文本、结构、程序和视觉)量化代码的可读性。通过分析这些维度,可以识别LLM生成代码中存在的特定可读性问题,并评估不同提示策略对可读性的影响。

技术框架:论文的技术框架主要包括以下几个阶段:1) 构建可读性模型:收集并整合代码的文本特征(如变量名长度、注释密度)、结构特征(如代码行数、嵌套深度)、程序特征(如控制流复杂度、数据依赖性)和视觉特征(如代码缩进、空行使用)。2) 数据收集:从World of Code (WoC)和LeetCode等大型代码库中提取代码片段,并使用主流LLM生成相应的代码。3) 可读性评估:使用构建的可读性模型评估LLM生成代码和人工编写代码的可读性。4) 提示工程分析:研究不同提示维度(如函数签名、约束、风格描述)对LLM生成代码可读性的影响。

关键创新:论文的关键创新在于提出了一个综合的代码可读性模型,该模型能够从多个维度量化代码的可读性,并用于分析LLM生成代码的可读性模式。此外,论文还系统地研究了不同提示策略对LLM生成代码可读性的影响,为改进LLM生成代码的可读性提供了指导。

关键设计:可读性模型的设计是关键。具体来说,文本特征可能包括平均标识符长度、注释比例等;结构特征可能包括代码行数、循环嵌套深度等;程序特征可能包括圈复杂度、Halstead复杂度指标等;视觉特征可能包括缩进级别、空行数量等。这些特征被组合成一个综合的可读性评分。提示工程方面,论文考察了函数签名详细程度、约束条件明确程度、风格描述详细程度等因素对可读性的影响。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,LLM生成代码的总体可读性与人工编写的代码相当。然而,LLM生成代码在某些可读性维度上表现出明显的问题模式,例如变量命名不规范、注释不足等。提示工程对LLM生成代码可读性的影响有限,函数签名、约束和风格描述是最有影响的因素。具体性能数据未知。

🎯 应用场景

该研究成果可应用于软件开发的多个环节,例如自动化代码审查、代码质量评估和LLM代码生成优化。通过量化代码可读性,可以帮助开发人员更好地理解和维护代码,提高软件开发的效率和质量。此外,该研究还可以指导LLM的提示工程,使其生成更易于阅读和理解的代码。

📄 摘要(原文)

As Large Language Models (LLMs) are transforming software development, the functional quality of generated code has become a central focus, leaving readability, one of critical non-functional attributes, understudied. Given that LLM-generated code still needs human review before adoption, it is important to understand its readability especially compared with human-written code and the role of prompt design in shaping it. We therefore set out to conduct a systematic investigation into the code readability of LLM-generated code. To systematically quantify code readability, We establish a comprehensive readability model that synthesizes textual, structural, program, and visual features of code. Based on the model, we evaluate the readability of code generated by the mainstream LLMs under 5,869 scenarios extracted from large code base including World of Code (WoC) and LeetCode. We find that current LLMs produce code with overall readability comparable to human-written code, but displaying distinct readability issue patterns. We further examine how different prompt dimensions affect the readability of LLM-generated code, and find that function signatures, constraints and style descriptions emerge as the most influential factors, while the overall impact of prompt design remains limited. Our findings indicate that, on one hand, LLM-generated code is at least comparable to human-written code in readability, validating its potential for systematic integration into software workflows from a non-functional perspective; on the other hand, distinct readability issue patterns and limited effectiveness of prompt engineering reveal a latent technical debt, highlighting the need for future research to improve the readability of LLM-generated code and thus ensure long-term maintainability.