Open source 深入研究开源代码

Open source 深入研究开源代码,open-source,Open Source,您认为什么时候应该/有必要深入研究开源工具的源代码,以了解您使用的工具集?(nHibernate、StructureMap、Rhino Mocks等)当它不能按我期望的方式工作,或者我需要实现文档或示例中没有很好描述的东西时。通常,这是一种对做一些我认为应该有效的事情的反应,但不理解为什么它不起作用。FWIW,无论源代码有多“开放”,只要我能够访问源代码,这也适用。我想说有两种情况: 当开源产品是您核心业务的一部分时(您的公司依赖它) 当你想开始贡献的时候 如果您正在使用的工具集没有提供您需要的

您认为什么时候应该/有必要深入研究开源工具的源代码,以了解您使用的工具集?(nHibernate、StructureMap、Rhino Mocks等)

当它不能按我期望的方式工作,或者我需要实现文档或示例中没有很好描述的东西时。通常,这是一种对做一些我认为应该有效的事情的反应,但不理解为什么它不起作用。FWIW,无论源代码有多“开放”,只要我能够访问源代码,这也适用。

我想说有两种情况:

  • 当开源产品是您核心业务的一部分时(您的公司依赖它)
  • 当你想开始贡献的时候

  • 如果您正在使用的工具集没有提供您需要的功能,或者如果您的工具中存在bug,则可能需要执行此操作


    例如,最近我使用的JavaScript网格库不支持按特定日期/时间格式对列进行排序,因此我必须深入了解它们的代码并了解其工作原理,以便找到解决方法。最后,我不得不自己实现这一点,并将代码贡献给他们的项目。

    我认为,一般来说,如果你正在做一些需要深入潜水的事情,那么你可能正在做一些不应该做的事情。当你需要知道你没有做标准的事情时,你需要认真考虑你是否做了正确的事情


    例外情况是,当您正在构建某个库位于公司核心竞争力领域的内容时。如果你正在构建一个在线构建系统,你可能想知道太多关于底层构建系统的信息(Maven或其他什么),你可能应该深入研究这些系统,直到你对它们非常了解。

    我需要知道的时候就开始深入研究源代码:这有什么用?或者,为什么我认为这不起作用。这通常是在阅读文档、谷歌搜索等之后出现的

    另外,如果它是一个我已经使用了一段时间的框架,那么我最感兴趣的是了解一点源代码,作为了解其工作原理的参考点

    如果你想知道任何一个框架是如何工作的,你总是必须从“这个IoC/ORM框架需要做什么才能执行这个功能”开始。我发现从内到外的思考有时对框架有所帮助