V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yibuyisheng
V2EX  ›  程序员

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

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

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

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

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

    如果自己的需求是比较限定型的本身和第三方库的基本目标没关系的,则把它抽象成第三方库的一个扩展点,以扩展点的形式提交pull request,再把自己的需求挂载成扩展,同样以后版本也能跟进
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5207 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:25 · PVG 17:25 · LAX 02:25 · JFK 05:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.