关于使用第三方插件(库、包)的观念

2013-11-01 20:59:06 +08:00
 yibuyisheng
最近开发项目,遇到对待第三方库的使用问题,存在一些分歧,有下面两个观点:
1、不能改变别人的源代码,因为这是别人的思想结晶,必须尊重;
2、只要在可控范围内,可以适当改变别人的源代码,以便与自己的项目结合的更好。比如使用seajs来封装jquery,就可以在jquery外面加一层seajs的模块代码,以便方便使用。
对于这两种观点,各位大牛们怎么看?
3124 次点击
所在节点    程序员
5 条回复
dorentus
2013-11-01 21:26:35 +08:00
如果我选择不修改的话,那么理由不会是「这是别人的思想结晶,必须尊重」,而是因为改了之后如果它再有更新,想要再把更新的部分集成进来会比较麻烦……
est
2013-11-01 21:29:05 +08:00
同LS

比较好的第三方库,都设计得比较巧妙可以融入自己的需求。那种写得又死又烂万年不更新的,就随便改吧。
xhacker
2013-11-01 21:49:12 +08:00
改完发 pull request。
laihj
2013-11-01 21:51:59 +08:00
该改就改

如果是开源代码,接它自己的开源协议处理

这个尊重没什么关系
otakustay
2013-11-01 22:12:35 +08:00
一般我选择改动以后回馈到社区,不然人家升个级看你怎么跟上,国内好多公司自己随意改nginx、hardoop之类的,现在已经落后最新版一大截,完全无法正常升级

如果自己的需求是比较限定型的本身和第三方库的基本目标没关系的,则把它抽象成第三方库的一个扩展点,以扩展点的形式提交pull request,再把自己的需求挂载成扩展,同样以后版本也能跟进

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/87744

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX