借助开源项目,学习软件开发-tpshop开发手册开源商城
【摘要】 近几十年来,信息技术飞速发展,广泛应用于各行各业。 软件作为信息技术的重要组成部分,一直在推动社会创新,改善人们的工作和生活。 如今,我们的生活和工作严重依赖于各种软件。 软件和软件开发人员已成为社会创新的主要驱动力。 因此借助开源项目,学习软件开发,有必要研究软件开发人员的行为及其与软件项目的关系。 现代软件工程提倡开源协作精神。 GitHub 成立于 2008 年 4 月,是一个开源协作开发平台。 GitHub 提供了丰富的社交功能,帮助开发者更好地与软件项目进行交互。 GitHub聚集了大量的软件开发者,因此GitHub也积累了大量的开发者行为数据和开发者与开发者、开发者与软件项目的交互关系数据。 在本文中,我们从人类动力学的角度研究软件开发者的博客发布行为,利用复杂网络的理论和工具来研究软件开发者与软件项目之间的关系,揭示软件开发者的兴趣特征。 对GitHub平台上软件开发者博客发布行为的人类动力学实证分析表明借助开源项目,学习软件开发,软件开发者的博客提交次数和提交时间间隔具有明显的肥尾分布特征。 与其他在线平台相比,在 GitHub 上发布的博文更正式、篇幅更长,因此提交数量的分布更均匀,提交之间的时间间隔也更异构。 通过对比普通开发者和精英开发者的行为,我们发现普通开发者记忆力低、突发性高,而精英开发者记忆力低、突发性低,说明精英们提交博文的兴趣是一个重要因素。 长期兴趣,他们将提交博文作为日常工作。
我们提出了多层二分网络的向量表示,并将开发人员和软件项之间的多种关系建模为多层二分网络,以分析兴趣的广度。 分析结果表明,watching层开发者和软件项目的协同相似度与度数呈负相关,而fork层开发者的协同相似度与度数呈正相关,但软件项目的协同相似度无与学历性别有明显的相关性。 这表明软件开发者在使用 GitHub 提供的不同社交功能来连接软件项目方面有着不同的兴趣。 进一步分析软件开发者对软件质量的兴趣,提出依赖中心相似性指标,并基于该指标进行实证分析。 结果表明,开发者的邻域中心度与度呈负相关,而软件项目的邻域中心度则围绕均值波动。 说明开发者在GitHub上的成长过程中可以主动选择项目,从而变得越来越实用。 渐渐地,他们会更加关注自己实用的软件项目,而不是一味地关注高知名度、高质量的项目。 并且由于项目在开发过程中只能被动选择,所以关注项目的优质开发者和普通开发者会保持一个稳定的比例。 对于watching层和fork层的开发者和项目,依赖中心度相似度与度数呈负相关,度数越大表示对邻居质量的兴趣越广泛。