Page 73 - 《软件学报》2026年第7期
P. 73

2758                                                       软件学报  2026  年第  37  卷第  7  期


                 中存在多个并行对话, 且消息记录相互交织              (RQ1). 针对这一问题, 在线平台供应商可考虑引入自动解缠技术, 以
                 提升参与者高效浏览和跟进对话线程的能力, 特别是便于负责协调在线讨论的人员, 快速定位相关内容并跟踪对
                 话进展.
                  4.2   开源软件社区
                    ● 定制适配社区互动风格的交流入门指南, 鼓励跨社区经验借鉴. Discord                  各社区的软件实践者展现出独特的
                 互动风格, 这一特征可通过不同社区间互动模式分布的差异得到验证                       (RQ2). 深入理解特定社区的互动风格, 有助
                 于为开源软件社区的新成员制定入门指南, 帮助其快速融入社区. 此类指南需基于社区既有的互动规范量身定制,
                 聚焦于高效提问和提供简洁答案的实践指导. Redis 社区中直接回答模式                     (P5) 的高频出现, 凸显了该社区倾向于
                 采用简洁高效的沟通方式         (RQ2). 这一发现揭示了开展跨社区分析的潜在价值, 有助于发现最佳实践并识别沟通
                 策略中有待改进的方面. 例如, 其他开源社区可借鉴               Redis 社区简洁高效的沟通方式, 考虑引入类似策略, 以提升
                 自身的沟通效率和整体协作效能.
                    ● 提出问题时, 应确保代码片段具备充分的上下文信息. 尽管在                  Discord  上的提问中嵌入代码片段似乎有助于
                 缩短响应时间, 但代码片段的加入并未对问题解决率产生统计学显著影响                         (RQ4). 若代码片段缺乏必要的上下文
                 信息, 将限制参与者提供全面解决方案的能力, 从而降低问题在对话中得到解决的可能性. 例如, 以下是                               Angular
                 社区中一个未解决问题的案例.
                    Anyone any idea what’s wrong with my code?
                    <mat-checkbox #check [checked] = “store.brickSelected$ | async” (click) = “store.toggleBrick(check.checked)”>
                    Select Brick <mat-checkbox>
                    该问题缺乏足够的背景细节, 例如复现问题所需的信息, 导致难以获得有效解决. 因此, 建议开源软件社区在
                 参与者发布问题时, 提供包含关键背景信息的清单作为指引, 促使参与者在提问时完整呈现必要细节, 从而提升问
                 题被解决的可能性.
                  4.3   研究人员
                    跨在线交流平台特征融合. 在对         RQ1 的调查中发现, Discord 的响应率在     43%–62%  之间, 明显低于   Stack Overflow
                 的  92% [60] . 这一差异可能源于  Stack Overflow  通过标签系统实现了问题的结构化组织, 使软件实践者能够精准定
                 位感兴趣的问题      [58] , 同时, 其游戏化机制也有效激励了用户持续参与           [61] . 相比之下, Discord  的交流更为随意, 结构
                 化程度较低, 这可能导致问题的可见度和优先级下降, 从而降低响应率. 未来研究可探索将                           Stack Overflow  的功能
                 设计融入   Discord, 优化问题的组织与展示机制, 以提升用户参与度, 构建更活跃的社区生态.

                  5   相关工作

                  5.1   软件工程中的异步交流研究
                    邮件列表经常被用于协调开发和用户支持活动                 [62−64] . 自  21  世纪初以来, 学界围绕邮件列表展开了诸多研究,
                 内容涵盖知识共享活动的剖析           [64] 以及开发者加入和退出项目的原因探究           [65] . Singh  等人  [63] 的调查显示, 邮件列表
                 中大约   90%  的内容与解决问题和寻求信息有关, 其余则可归类为社交沟通或功能请求.
                    问题跟踪系统蕴含有关软件项目的丰富信息                [66] , 这些信息可用于改进软件开发      [44] . Merten  等人  [67] 运用自然语
                 言处理和机器学习技术, 实现了软件功能请求的自动化检测. Rastkar 等人                  [68] 则专注于错误报告的总结, 以自动化
                 提取问题跟踪系统中的关键信息.
                    作为社区驱动型问答网站的典范, Stack Overflow        一直是软件工程领域众多研究的焦点. 例如, 分析开发者的讨
                 论主题和趋势     [6,69−73] 、预测答案质量  [74,75] 和用户参与度  [76] 、识别领域专家  [77,78] , 以及理解其中的社交互动  [55,79] 和
                 删除问题的相关研究       [80] . 研究人员还利用  Stack Overflow  上的帖子来检测  API 的使用障碍    [81] 、生成  API 规则  [82] ,
                 以及扩充   API 文档  [83] . 近年随着大语言模型兴起, 也有研究人员对          Hugging Face 社区的问答讨论展开研究, 提出
   68   69   70   71   72   73   74   75   76   77   78