• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

相似文献

1
Ten simple rules on writing clean and reliable open-source scientific software.关于编写干净可靠的开源科学软件的十则简单规则。
PLoS Comput Biol. 2021 Nov 11;17(11):e1009481. doi: 10.1371/journal.pcbi.1009481. eCollection 2021 Nov.
2
Evaluation of Rust code verbosity, understandability and complexity.对Rust代码冗长性、可理解性和复杂性的评估。
PeerJ Comput Sci. 2021 Feb 26;7:e406. doi: 10.7717/peerj-cs.406. eCollection 2021.
3
An open-source natural language processing toolkit to support software development: addressing automatic bug detection, code summarisation and code search.一个支持软件开发的开源自然语言处理工具包:解决自动错误检测、代码总结和代码搜索问题。
Open Res Eur. 2023 Oct 27;2:37. doi: 10.12688/openreseurope.14507.2. eCollection 2022.
4
Bionitio: demonstrating and facilitating best practices for bioinformatics command-line software.Bionitio:展示和促进生物信息学命令行软件的最佳实践。
Gigascience. 2019 Sep 1;8(9). doi: 10.1093/gigascience/giz109.
5
SciPy 1.0: fundamental algorithms for scientific computing in Python.SciPy 1.0:Python 中的科学计算基础算法。
Nat Methods. 2020 Mar;17(3):261-272. doi: 10.1038/s41592-019-0686-2. Epub 2020 Feb 3.
6
Standards, dissemination, and best practices in systems biology.系统生物学中的标准、传播和最佳实践。
Curr Opin Biotechnol. 2023 Jun;81:102922. doi: 10.1016/j.copbio.2023.102922. Epub 2023 Mar 31.
7
ASAS-NANP symposium: mathematical modeling in animal nutrition-Making sense of big data and machine learning: how open-source code can advance training of animal scientists.ASAS-NANP 研讨会:动物营养中的数学建模——从大数据和机器学习中得出意义:开源代码如何促进动物科学家的培训。
J Anim Sci. 2023 Jan 3;101. doi: 10.1093/jas/skad317.
8
Biopython: freely available Python tools for computational molecular biology and bioinformatics.Biopython:用于计算分子生物学和生物信息学的免费可用Python工具。
Bioinformatics. 2009 Jun 1;25(11):1422-3. doi: 10.1093/bioinformatics/btp163. Epub 2009 Mar 20.
9
NeuroPycon: An open-source python toolbox for fast multi-modal and reproducible brain connectivity pipelines.NeuroPycon:一个开源的 Python 工具包,用于快速进行多模态和可重复的脑连接管道。
Neuroimage. 2020 Oct 1;219:117020. doi: 10.1016/j.neuroimage.2020.117020. Epub 2020 Jun 6.
10
Empirical study of the relationship between design patterns and code smells.设计模式与代码异味关系的实证研究。
PLoS One. 2020 Apr 16;15(4):e0231731. doi: 10.1371/journal.pone.0231731. eCollection 2020.

引用本文的文献

1
A rubric for assessing conformance to the Ten Rules for credible practice of modeling and simulation in healthcare.一份用于评估是否符合医疗保健领域建模与仿真可信实践十条规则的评分标准。
PLoS One. 2025 Jun 25;20(6):e0313711. doi: 10.1371/journal.pone.0313711. eCollection 2025.
2
ENCORE: a practical implementation to improve reproducibility and transparency of computational research.ENCORE:一种提高计算研究可重复性和透明度的实际实施方案。
Nat Commun. 2024 Sep 16;15(1):8117. doi: 10.1038/s41467-024-52446-8.
3
A how-to guide for code sharing in biology.生物学代码共享指南
PLoS Biol. 2024 Sep 10;22(9):e3002815. doi: 10.1371/journal.pbio.3002815. eCollection 2024 Sep.
4
Best practices to evaluate the impact of biomedical research software-metric collection beyond citations.评估生物医学研究软件指标收集对引文以外的影响的最佳实践
Bioinformatics. 2024 Aug 2;40(8). doi: 10.1093/bioinformatics/btae469.
5
Ten simple rules for building and maintaining a responsible data science workflow.构建和维护负责任的数据科学工作流程的十条简单规则。
PLoS Comput Biol. 2024 Jul 18;20(7):e1012232. doi: 10.1371/journal.pcbi.1012232. eCollection 2024 Jul.
6
Ten simple rules to make computable knowledge shareable and reusable.使可计算知识具有可分享性和可重用性的 10 条简单规则。
PLoS Comput Biol. 2024 Jun 20;20(6):e1012179. doi: 10.1371/journal.pcbi.1012179. eCollection 2024 Jun.
7
Current status in spatiotemporal analysis of contrast-based perfusion MRI.对比增强磁共振灌注成像的时空分析的现状。
Magn Reson Med. 2024 Mar;91(3):1136-1148. doi: 10.1002/mrm.29906. Epub 2023 Nov 6.
8
Ten quick tips for harnessing the power of ChatGPT in computational biology.利用ChatGPT在计算生物学中发挥作用的十条快速提示。
PLoS Comput Biol. 2023 Aug 10;19(8):e1011319. doi: 10.1371/journal.pcbi.1011319. eCollection 2023 Aug.
9
Open-Source Machine Learning in Computational Chemistry.开源机器学习在计算化学中的应用。
J Chem Inf Model. 2023 Aug 14;63(15):4505-4532. doi: 10.1021/acs.jcim.3c00643. Epub 2023 Jul 19.
10
Ten simple rules for working with other people's code.与他人代码协作的十条简单规则。
PLoS Comput Biol. 2023 Apr 20;19(4):e1011031. doi: 10.1371/journal.pcbi.1011031. eCollection 2023 Apr.

本文引用的文献

1
Towards computational reproducibility: researcher perspectives on the use and sharing of software.迈向计算可重复性:研究人员对软件使用与共享的看法。
PeerJ Comput Sci. 2018 Sep 17;4:e163. doi: 10.7717/peerj-cs.163. eCollection 2018.
2
Principles for data analysis workflows.数据分析工作流程原则。
PLoS Comput Biol. 2021 Mar 18;17(3):e1008770. doi: 10.1371/journal.pcbi.1008770. eCollection 2021 Mar.
3
Ten simple rules for quick and dirty scientific programming.快速简便的科学编程十条简明规则。
PLoS Comput Biol. 2021 Mar 11;17(3):e1008549. doi: 10.1371/journal.pcbi.1008549. eCollection 2021 Mar.
4
Barely sufficient practices in scientific computing.科学计算方面的实践勉强够用。
Patterns (N Y). 2021 Feb 12;2(2):100206. doi: 10.1016/j.patter.2021.100206.
5
Notice of Retraction. Aboumatar et al. Effect of a Program Combining Transitional Care and Long-term Self-management Support on Outcomes of Hospitalized Patients With Chronic Obstructive Pulmonary Disease: A Randomized Clinical Trial. JAMA. 2018;320(22):2335-2343.撤稿通知。阿布马塔尔等人。一项将过渡性护理与长期自我管理支持相结合的项目对慢性阻塞性肺疾病住院患者结局的影响:一项随机临床试验。《美国医学会杂志》。2018年;320(22):2335 - 2343。
JAMA. 2019 Oct 8;322(14):1417-1418. doi: 10.1001/jama.2019.11954.
6
Ten simple rules for documenting scientific software.记录科学软件的十条简单规则。
PLoS Comput Biol. 2018 Dec 20;14(12):e1006561. doi: 10.1371/journal.pcbi.1006561. eCollection 2018 Dec.
7
A brief history of bioinformatics.生物信息学简史。
Brief Bioinform. 2019 Nov 27;20(6):1981-1996. doi: 10.1093/bib/bby063.
8
Algorithmic identification of discrepancies between published ratios and their reported confidence intervals and P-values.算法识别发表的比值与其报告的置信区间和 P 值之间的差异。
Bioinformatics. 2018 May 15;34(10):1758-1766. doi: 10.1093/bioinformatics/btx811.
9
Good enough practices in scientific computing.科学计算中的良好实践。
PLoS Comput Biol. 2017 Jun 22;13(6):e1005510. doi: 10.1371/journal.pcbi.1005510. eCollection 2017 Jun.
10
Ten simple rules for making research software more robust.使研究软件更稳健的十条简单规则。
PLoS Comput Biol. 2017 Apr 13;13(4):e1005412. doi: 10.1371/journal.pcbi.1005412. eCollection 2017 Apr.

关于编写干净可靠的开源科学软件的十则简单规则。

Ten simple rules on writing clean and reliable open-source scientific software.

机构信息

Berkeley Institute for Data Science, University of California, Berkeley, Berkeley, California, United States of America.

Bakar Computational Health Sciences Institute, University of California, San Francisco, San Francisco, California, United States of America.

出版信息

PLoS Comput Biol. 2021 Nov 11;17(11):e1009481. doi: 10.1371/journal.pcbi.1009481. eCollection 2021 Nov.

DOI:10.1371/journal.pcbi.1009481
PMID:34762641
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC8584773/
Abstract

Functional, usable, and maintainable open-source software is increasingly essential to scientific research, but there is a large variation in formal training for software development and maintainability. Here, we propose 10 "rules" centered on 2 best practice components: clean code and testing. These 2 areas are relatively straightforward and provide substantial utility relative to the learning investment. Adopting clean code practices helps to standardize and organize software code in order to enhance readability and reduce cognitive load for both the initial developer and subsequent contributors; this allows developers to concentrate on core functionality and reduce errors. Clean coding styles make software code more amenable to testing, including unit tests that work best with modular and consistent software code. Unit tests interrogate specific and isolated coding behavior to reduce coding errors and ensure intended functionality, especially as code increases in complexity; unit tests also implicitly provide example usages of code. Other forms of testing are geared to discover erroneous behavior arising from unexpected inputs or emerging from the interaction of complex codebases. Although conforming to coding styles and designing tests can add time to the software development project in the short term, these foundational tools can help to improve the correctness, quality, usability, and maintainability of open-source scientific software code. They also advance the principal point of scientific research: producing accurate results in a reproducible way. In addition to suggesting several tips for getting started with clean code and testing practices, we recommend numerous tools for the popular open-source scientific software languages Python, R, and Julia.

摘要

功能齐全、易于使用且可维护的开源软件对于科学研究越来越重要,但软件开发和可维护性的正式培训差异很大。在这里,我们提出了 10 条“规则”,这些规则以两个最佳实践组件为中心:代码整洁和测试。这两个领域相对简单,与学习投资相比,提供了大量实用价值。采用整洁的代码实践有助于标准化和组织软件代码,以提高可读性并降低初始开发人员和后续贡献者的认知负担;这使开发人员能够专注于核心功能并减少错误。整洁的编码风格使软件代码更易于测试,包括最适合模块化和一致的软件代码的单元测试。单元测试询问特定的和孤立的编码行为,以减少编码错误并确保预期的功能,尤其是在代码变得更加复杂时;单元测试还隐式提供了代码的示例用法。其他形式的测试旨在发现由于意外输入或复杂代码库的交互而产生的错误行为。虽然在短期内遵守编码风格和设计测试会增加软件开发项目的时间,但这些基础工具可以帮助提高开源科学软件代码的正确性、质量、可用性和可维护性。它们还推进了科学研究的主要观点:以可重复的方式产生准确的结果。除了提出一些有关开始使用整洁的代码和测试实践的提示外,我们还为流行的开源科学软件语言 Python、R 和 Julia 推荐了许多工具。