什么是一个好的Node.js包?调查用户、贡献者和可运行性
What makes a good Node.js package? Investigating Users, Contributors, and Runnability
摘要:
Node.js包管理器(即,npm)归档存储库是JavaScript社区的重要组成部分,有助于支持世界上最大的开发者生态系统之一。然而,作为开发人员,选择一个合适的npm包来使用或贡献可能很困难。为了了解用户和贡献者在搜索一个好的npm包时认为哪些功能是重要的,我们进行了一项调查,要求Node.js开发人员评估从现有工作中派生的30个功能的重要性,包括GitHub活动,软件可用性以及存储库和文档的属性。我们确定,用户和贡献者的观点,他们使用哪些功能来评估软件包的质量有着相似的看法。然后,我们从104,364个npm包中提取了30个功能,并分析了它们之间的相关性,包括三个衡量包"可运行性”的软件功能;安装,构建和执行单元测试的能力。我们确定哪些功能与运行相关的功能呈负相关,并发现预测软件包的运行能力是可行的。我们的研究为未来理解用户和贡献者如何选择合适的npm包奠定了基础。
英文摘要:
The Node.js Package Manager (i.e., npm) archive repository serves as a critical part of the JavaScript community and helps support one of the largest developer ecosystems in the world. However, as a developer, selecting an appropriate npm package to use or contribute to can be difficult. To understand what features users and contributors consider important when searching for a good npm package, we conduct a survey asking Node.js developers to evaluate the importance of 30 features derived from existing work, including GitHub activity, software usability, and properties of the repository and documentation. We identify that both user and contributor perspectives share similar views on which features they use to assess package quality. We then extract the 30 features from 104,364 npm packages and analyse the correlations between them, including three software features that measure package ``runnability"; ability to install, build, and execute a unit test. We identify which features are negatively correlated with runnability-related features and find that predicting the runnability of packages is viable. Our study lays the groundwork for future work on understanding how users and contributors select appropriate npm packages.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。