首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鼓励非专业程序员的良好开发实践?

鼓励非专业程序员的良好开发实践?
EN

Stack Overflow用户
提问于 2009-08-05 19:31:48
回答 14查看 1.3K关注 0票数 26

在我丰富的空闲时间里,我与许多科学家(大多是生物学家)合作,他们开发软件、数据库和其他与他们的工作相关的工具。

一般来说,这些项目是在一次性的基础上构建的,内部使用,最终有人决定“哦,这可能对其他人有用”,所以他们发布了一个二进制文件,或者把PHP界面塞到了网络上。但是,他们通常不会为其他开发人员提供他们的源代码或数据库转储,因此在实践中,这些项目通常在代码编写的项目结束或失去资金时死去。几个月(或几年后),其他一些实验室需要同样的工具,他们必须重复第一个实验室所做的工作,这个项目最终会消亡,泡沫,漂洗,重复。

有没有人建议如何说服那些主要工作不是编程的人,让他们对自己开发的工具更加开放,这对他们的社区是有好处的?

同样,对于如何传达版本控制、bug跟踪、重构、自动化测试、持续集成和其他我们专业开发人员认为理所当然的常见实践的想法,有什么建议是值得花时间的吗?

不幸的是,许多科学家似乎持有这样的观点:编程是一种枯燥乏味的工作必要的邪恶,他们的研究更重要,没有意识到软件开发是科学研究的一部分,如果整个社会提高开发标准的标准,每个人都会受益。

你曾经遇到过这样的情况吗?什么对你有用?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2009-08-05 19:56:19

软件木工听起来与您的请求匹配:

概述 许多科学家和工程师一生中花了很多时间在编程上,但只有少数人被教会如何做好这件事。因此,他们花时间与软件搏斗,而不是做研究,但不知道他们的程序有多可靠或有多高效率。 本课程是对科学家和工程师基本软件开发实践的深入介绍,可以将他们的编程时间减少20-25%。所有材料都是开放源码的:任何人都可以为教育或商业目的自由使用,并积极鼓励学术界和工业界的研究团体使其适应自己的需要。

票数 17
EN

Stack Overflow用户

发布于 2009-08-06 23:56:39

首先,我要说我是一个生物信息学家,所以我看到了你一直在谈论的事情。事实是,这些人中的许多人都是生物学家转变成的程序员,他们根本不了解最佳实践。

尽管如此,核心问题并不是这些人不知道好的做法,也不是不关心。问题是他们没有动力花更多的时间学习软件工程,或者清理他们的代码并发布它。

在学术研究背景下,你的声誉(以及你未来的工作前景)几乎完全取决于你所贡献的出版物的数量和质量。关于方法或新算法的出版物没有那些报道新生物学发现的出版物那么受人尊敬。所以,在我对一个数据集做了快速分析之后,我几乎没有动力花很多时间清理我的代码并发布它,那时我可以进入下一个数据集,并做出更多的生物发现。

我还会注意到,用于计算开发的资金比用于生物学的资金少几个数量级。在目前只有10%的申请资金得到资助的情况下,科学家们没有时间清理和发布他们的代码,因为这样做并不能帮助他们保持实验室的资金。

简单地说,这就是问题所在。作为一个生物信息学家,我认为这是不正常的,而且常常令人沮丧。

尽管如此,未来还是有希望的。特别是随着第二代和第三代测序,生物学正进入高通量发现的领域,在那里,数据挖掘和坚实的计算管道成为科学成功不可或缺的一部分。随着这种情况的发生,您将看到越来越多的资金用于计算项目,越来越多的真正的软件工程发生。

票数 9
EN

Stack Overflow用户

发布于 2009-08-05 19:38:07

这并不简单,但举例说明可能会最有效地证明这一点--找到研究人员需要完成的任务,找出确实花了时间让工具w/源代码可用的人,并指出研究人员通过使用该工具可以节省多少时间--然后指出他们可以以同样的方式回馈社区。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1235263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档