0

这些天来,当我编写 JavaScript 代码时,我发现自己使用越来越多的插件来完成常见任务。很多时候,当我使用现有插件时,例如显示工具提示,我对某些选项不太满意 - 所以我扩展它们,或者修复错误。

这就提出了如何修复/扩展第三方代码的问题。你只是修改源文件吗?这使得以后几乎不可能更新插件。您可以通过克隆对象或对现有对象进行原型设计来扩展它。但这通常会导致重复代码或范围问题。

我玩过直接修改插件代码并在最后生成补丁文件的想法。然后可以使用 phing 或一些类似的框架“在构建时”应用这些。

各位大佬是怎么处理这个问题的?是否有任何现有的项目/框架可以使这更容易?

谢谢你的想法。

4

1 回答 1

1

如果第三方代码是开源的好公民,您可以对其进行分叉、增强、为您的增强编写测试,然后将拉取请求提交回项目的维护者。然后您的增强功能可供所有人使用,包括您自己。这就是开源发生的方式。

如果它是开源的,但不是开源的好公民(没有积极的维护者,或者您的增强功能过于具体或出于某种原因不受欢迎),那么过程是相同的,他们只是从不接受您的拉取请求。将来,您可以在您自己的私有存储库中合并在官方存储库中提交的更改,即使它们从未进入项目的官方存储库。

这就是像 git 这样的分布式版本控制系统如此出色的原因。没有人拥有唯一的规范存储库,您的私有黑客版本可以很容易地像正式版本一样托管和处理。

当然,其中大部分假设项目位于 GitHub 上的某个地方。如果不是,那么事情会变得更加棘手。

于 2012-11-30T09:38:04.103 回答