一句话:总结五年 Expertiza 课程中 313 个开源课程项目的经验,归纳学生贡献的 13 类常见错误并提出 5 条改进建议。
将开源软件项目引入软件工程课程有诸多好处,但让 OSS 核心团队支持课程项目并不容易;退而求其次的“玩具特性”可能无关紧要或破坏设计,难以合并。作者兼具教学人员与 Expertiza 核心团队身份,回顾五年间支持 700 名学生完成 313 个基于 OSS 的课程项目,人工检查项目并归纳学生贡献中的 13 类常见错误,例如未遵循现有设计、pull request 混乱。基于这些人工检查与经验总结,论文提出五条建议,帮助学生减少常见错误并提升 OSS pull request 质量。
Introducing Open Source Software (OSS) projects into a software-engineering course has many advantages, for instance, allowing students to learn good coding practices from real-world projects, and giving students a glimpse of a real project. However, it is not easy for instructors to induce one or more OSS core teams to lend support for course projects. The alternative is to have students work on "toy features"---features for these projects not specified by OSS core teams, but by teaching staff. However, the project may be unimportant to the OSS project or may disrupt its design, making those code contributions unlikely to be integrated into the OSS code repository. In this paper, we, as both teaching staff and the core team for one OSS project called Expertiza, discuss our experience in supporting 700 students on 313 OSS-based course projects in the past five years. We manually checked these course projects, and summarize 13 common mistakes that frequently occur in students' contributions, such as not following the existing design or messy pull requests. We propose five suggestions to help students reduce the frequency of common mistakes and improve the quality of their OSS pull requests.
DOI 原文 ·
@inproceedings{paperbot4551,
title = {Open-source software in class},
author = {Zhewei Hu and Yang Song and Edward F. Gehringer},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3183377.3183394}
}