如何统计Javadoc中各作者的占比并生成对应的百分比饼图?
Javadoc作者占比统计方案
存在可直接统计Javadoc中@author占比的方案,可通过自定义脚本或现有静态分析工具实现,具体操作如下:
方法1:自定义Python脚本实现(灵活度最高,可适配个性化统计规则)
你可以自行写脚本遍历Java文件提取作者信息后生成饼图,参考逻辑如下:
- 遍历目标目录下所有
.java后缀文件 - 用正则匹配提取每行中
@author后的作者名称 - 统计各作者出现频次,计算对应占比
- 调用可视化库生成占比饼图
参考代码片段:
import os import re from collections import Counter import matplotlib.pyplot as plt # 匹配@author标签的正则 author_reg = re.compile(r'^\s*\*\s*@author\s+(.+?)\s*$') author_count = [] # 遍历所有Java文件 for root, _, files in os.walk("./你的Java代码根目录"): for f in files: if f.endswith(".java"): file_path = os.path.join(root, f) with open(file_path, 'r', encoding='utf-8') as fr: for line in fr: match_res = author_reg.match(line) if match_res: author_count.append(match_res.group(1)) # 若单个文件存在多个@author需要全部统计,可删除下方break break # 统计占比并生成饼图 stat_res = Counter(author_count) total = sum(stat_res.values()) plt.pie(stat_res.values(), labels=[f"{name} ({num/total*100:.1f}%)" for name, num in stat_res.items()], autopct='%.1f%%') plt.title("Javadoc作者占比统计") plt.show()
方法2:使用现有工具实现
- SonarQube:安装第三方sonar-javadoc-plugin插件后,可配置@author统计规则,平台自带可视化面板可直接生成作者占比饼图报表
- Javadoc自定义Doclet:基于Javadoc官方提供的DocletAPI开发自定义统计逻辑,在生成Javadoc文档的过程中同步统计所有@author标签的占比,可直接输出统计结果
示例场景验证
你给出的3个示例代码文件共统计到3条有效@author记录:Me出现2次,You出现1次,占比分别为66.7%、33.3%,使用上述方法即可生成对应占比饼图。
内容的提问来源于stack exchange,提问作者Yery
相关产品推荐
相关产品推荐

