现在,当我编写JavaScript代码时,我发现自己使用越来越多的插件来完成常见任务。通常我使用现有插件时,例如要显示工具提示,我对某些选项不太满意 - 所以我扩展它们,或修复一个错误。
这提出了如何修复/扩展第三方代码的问题。你刚修改源文件吗?这使得几乎不可能在以后更新插件。您可以通过克隆对象或对现有对象进行原型设计来扩展它。但这通常会导致重复的代码或范围问题。
我已经想到了直接修改插件代码并在最后生成补丁文件的想法。然后可以使用phing或类似的框架“构建”这些应用。
你们怎么处理这个问题?是否有任何现有的项目/框架可以使这更容易?
感谢您的想法。
答案 0 :(得分:1)
如果第三方代码是开源的好公民,你可以分叉,增强它,为你的增强编写测试,并将拉取请求提交回项目的维护者。然后,您的增强功能可供所有人使用,包括您。这就是开源的发生方式。
如果它是开源的,而不是开源的好公民,(没有活跃的维护者,或者你的增强功能因某种原因而过于具体或不受欢迎),过程是一样的,他们只是从不接受你的拉动请求。将来,您可以在私有存储库中合并自己在官方存储库中提交的更改,即使它们从未进入项目的官方存储库。
这就是像git这样的分布式版本控制系统非常棒的原因。没有人拥有唯一的规范存储库,您的私有黑客版本可以非常容易地像正式版一样托管和处理。
当然,大多数假设该项目都在某个地方的GitHub上。如果不是,那么事情变得更加棘手。