Page 65 - 《软件学报》2026年第7期
P. 65
2750 软件学报 2026 年第 37 卷第 7 期
之间表示模型判别能力卓越, 在 [0.8, 0.9) 之间表示模型判别能力非常优秀, 在 [0.7, 0.8) 之间表示模型判别能力可
接受, 在 [0.6, 0.7) 之间表示模型判别能力较差, 在 [0.5, 0.6) 之间表示模型失效或不具备判别能力 [51] .
3 研究结果
3.1 RQ1: 软件实践者在 Discord 平台上的沟通具备哪些特征?
3.1.1 消息层面特征
图 4 呈现了数据集 I 中 18 216 名用户在 7 个 Discord 开源社区贡献消息量累计占比, 其中, 标记点 A 表示 1 611 名
参与者 (占比 8.1%) 累计贡献了 80% 的总消息量. 图 5 进一步展示用户个人消息贡献量分布, 其中 57.2% 的用户
贡献的消息量少于 6 条, 个人消息贡献量整体呈现为长尾分布特征.
100 A 30 000 用户发言数
用户累计发言数量占比 (%) 70 用户个人发言数量 20 000
90
发言数趋势
25 000
80
60
15 000
50
40
10 000
30
20
10
0
0 3 000 8 000 13 000 18 000 5 000 0 0 4 000 8 000 12 000 16 000
用户累计数量 用户累计数量
图 4 软件实践者累计消息数量占比分布 图 5 软件实践者个人消息数量分布
此外, 对所研究的 7 个社区中消息贡献量前 10 的参与者, 总计 70 位用户进行画像, 详情见表 4, 其中 Pn 代表
特定社区中贡献消息数量排名第 n 的参与者. 在 70 位用户中, 46 位在 Discord 上担任了平均 4 项预定义社区角
色 (中位数: 3, 最小值: 1, 最大值: 13, 标准差: 1.86). 预定义社区角色, 是 Discord 平台中服务器管理者预先设置的
权限模板, 例如“Administrator”“Moderator”“Experienced Devs”“Expert”“Helpers”等. 这些预定义角色的核心作用有
二: 一是快速为成员分配身份标识, 二是帮助用户快速了解其他成员在服务器中所承担的主要职责. 尽管 Discord
上不同社区采用的预定义角色呈现差异, 角色所承担的社区职责具有相似性. 例如, Android 社区中的“Experienced
Devs”角色与 Angular 社区中的“Expert”角色具有相似性; Angular 社区中的“Senior Moderator”角色与 TypeScript
社区中的“Moderator”角色, 承担相近社区职责.
表 4 各社区中贡献消息最多的前 10 位参与者所担任的预定义角色
前10参与者
社区 预定义角色样例
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
Android 3 6 6 6 6 7 5 0 0 5 Experienced Devs, Motivated Students, Advanced Learner
Angular 1 3 1 1 4 0 1 9 5 1 Expert, Job Board, Senior Moderator
Docker 2 2 2 0 3 0 0 2 0 1 Helpers, Mods, Members
Redis 9 0 1 7 0 0 1 0 0 1 Redis Staff, JavaScripter, AI Fan
TensorFlow 5 13 4 2 7 2 0 2 0 0 Founders, Staff, Helped
TypeScript 2 3 2 5 2 2 3 1 0 0 Moderator, Helper, Experienced
VSCode 0 0 9 7 0 0 0 0 1 0 Helpful (don’t ping), C#, Python
图 6 展示了 7 个 Discord 开源社区数据集 I 中消息在 24 h 的分布情况. 各社区消息高峰时段以红色圆圈标注,
黄色阴影区域高亮了各社区消息高峰时间窗口 (UTC 14:00–20:00). 具体而言, UTC 04:00–07:00 期间各社区的消
息量处于谷值. 随后, 各社区消息量开始提升并达到峰值, 耗时 10–16 h 不等. 此外, 各社区高峰/非高峰时段消息量
存在差异: Angular 社区差值为 4%, Redis 社区则达 10%. 这一差异也揭示了不同社区参与者潜在全球地域分布差

