首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向开放源码学习

如何向开放源码学习
EN

Software Engineering用户
提问于 2010-10-08 21:13:02
回答 2查看 299关注 0票数 8

我经常看到这个问题。我喜欢开源项目的某种价值主张。我试过基本的教程。太棒了。它起作用了!但是如果我继续研究更复杂的问题,我会花上几个小时做研究、调试、挫折等等。

你有什么策略来保持开源的动力?基础教程成功后,开源的回报是什么?你经历过什么开源的“成功”?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2010-10-09 01:02:16

我假设您正在查看类似于在github上找到的那些小型开源库。在我的例子中,我经常用它来解决一个特定的问题。如果它不能很好地解决这个问题,那么我就深入研究,了解代码是如何工作的,并根据需要进行更改。如果我的更改是为了一些有用的东西或bug修复,我尝试联系开源所有者或分叉我自己的分支。

其他时候,我只是调整一些与我自己的需求相近的东西,在这些情况下,我只是保留我的改变,然后继续前进。我增加手表或定期回签,以了解哪些已经更新。

然而,正如在说明中所述,这是软件开发的生命。这是一个不断变化的环境。

票数 4
EN

Software Engineering用户

发布于 2010-10-09 01:11:06

您会问如何保持使用给定开源API项目的动机?

诀窍是找出哪些开源项目是好项目。开放源码的主要限制是您可以访问源代码,当您需要了解事情是如何工作的(在某些情况下需要行为改变时通常会发生这种情况),这是非常有用的,但这并不意味着什么。这包括项目的质量,它与源代码的开放性完全无关。

在谈到代码项目时,质量由几个或多或少微妙的东西组成:

  • API设计得有多好?真正调用API所需编写的代码是否容易读取?
  • API中的实际代码编写得有多好?很容易理解发生了什么事吗?数据结构是否选择得很好,并且没有昂贵的运行时特性?变量名选得好吗?代码是否符合编码标准?
  • API有文档吗?这是实际代码的设计和javadoc,它有用吗?这比您想象的更重要,因为它显示了代码的成熟度。
  • 这个项目有网页吗?它是更新的,没有中断的链接?它能很容易地访问源代码、下载和文档吗?
  • 该项目是否有社区和邮件列表?档案是否可供查阅?这个社区有帮助吗?

当您选择是否使用给定的开源项目时,所有这些都是非常有用的。任何从最好的派生应该导致一个警告信号闪现在你的头脑,因为这是一个迹象表明,这不是一个最好的品种项目。

然后,当你发现这个项目时,你喜欢你看到的,最后的测试是:

  • 用一种有用的方式调用API的简单程序从零开始运行有多难?

这应该是

  1. 在项目网站上易于发现的位置和/或下载包中的文档中进行了解释。
  2. 很容易得到正确的文档--文档必须是准确的,程序从给定的、简单的示例中编写或修改,并且既能很好地解释,又很容易理解。
  3. 快速正确--如果您需要在此时进行任何调试以使程序按照解释运行,那么有些事情是非常不对劲的。

如果很明显,这是一个预期的和优先的用例,那么这应该是非常简单的。如果很明显,这个项目并不关心这个特定的事情,那么我会强烈地考虑不使用它!如果它在这里上坡的话,它会在许多很多次之后上坡,最好不要用它。

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

https://softwareengineering.stackexchange.com/questions/10614

复制
相关文章

相似问题

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