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

怎么区分是复用还是耦合

  •  
  •   errorMsg0xff · 236 天前 · 1477 次点击
    这是一个创建于 236 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同事想复用我的代码,但是我觉得是耦合,最终还是用了,然后要求我每次改这块都要同步他
    9 条回复    2024-03-15 11:42:57 +08:00
    angel001ma
        1
    angel001ma  
       236 天前
    从代码纬度是复用,从你们俩维度是耦合
    namonai
        2
    namonai  
       236 天前
    他干嘛不把你的代码 copy 一份自己维护
    FYFX
        3
    FYFX  
       236 天前
    要是他需要关注你每次修改的细节那毫无疑问是耦合
    chaoschick
        4
    chaoschick  
       236 天前 via Android
    代码复用导致耦合度增加
    需要通过代码冗余 实现解耦
    xloger
        5
    xloger  
       236 天前   ❤️ 1
    封装的一个重要理念是:考虑清楚层与层之间的边界。代码是分层的但是逻辑是耦合的话,那这个封装没啥价值。

    然后,怎么判断是复用还是耦合,你想象一下:把你的代码提供的对外方法抽成接口,每个写上注释。
    那么如果对方只需要看这个接口和文档就能顺利调用,且你的代码实现或者更新是不影响他的(除非增删方法),那你们这就是复用。
    如果你的某处代码实现的改动必须要他配合着一并更新,那就是耦合。
    ashuai
        6
    ashuai  
       236 天前
    你封装成一个公用方法或一个公用类,他来调用,这叫复用。
    你把代码给他,这叫 ctrl CV
    为什么更新了还要同步给他……
    lifei6671
        7
    lifei6671  
       236 天前
    你们两个要划分好界限,输入输出通过 interface 约束,他只依赖你的接口,不依赖实现。否则就是耦合了。
    lscho
        8
    lscho  
       236 天前
    #6 才是对的

    代码复用是把重复代码封装起来,别人/别的模块只调用

    你这明显不是复用
    muzei233
        9
    muzei233  
       235 天前
    学到了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3067 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:41 · PVG 21:41 · LAX 05:41 · JFK 08:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.