知识零食是一类关于零碎知识的笔记,大部分来自于对AI回答和网络搜索的整理,仅供参考
第一包
内聚和耦合是编程中的两个重要概念,用来描述代码模块的质量,理解它们有助于写出更清晰、更易维护的代码。
1. 内聚
标志着一个模块(比如一个函数、一个类)内各个部分彼此结合的紧密程度,简单来说就是“一个模块内各个部分之间的关系有多紧密”
高内聚:模块内的代码只关注一个明确的功能,各部分紧密相关。比如,一个模块专门用来处理“用户登录”,模块内的功能都围绕登录展开(验证用户名、密码匹配等)。
低内聚:模块内的代码关注太多不同的事情,显得混乱。例如,一个模块既负责登录,又处理文件上传,还要发送邮件。这样模块内部逻辑不统一,难以维护。
总结:内聚越高越好!因为高内聚的模块:
- 容易理解
- 易于调试
- 修改时风险较小(只影响模块内部,不会牵连到其他地方)
2. 耦合
指的是不同模块之间的依赖程度,简单来说就是“模块之间的牵连有多紧密”
高耦合:模块之间相互依赖非常紧密,一个模块的变化可能会导致另一个模块出问题。例如,一个模块需要知道另一个模块的具体实现细节才能工作。
低耦合:模块之间尽量独立,仅通过必要的接口(比如函数调用、API)进行交互,不直接干涉对方的内部细节。
总结:耦合越低越好!因为低耦合的系统:
- 模块可以单独开发或测试
- 改动一个模块时不会牵连到其他模块
- 更容易扩展功能
3. 内聚和耦合的关系
理想情况:高内聚 + 低耦合
- 每个模块各司其职
- 模块之间通过简单明确的接口通信,互不干涉
不理想情况:低内聚 + 高耦合
- 模块内部乱七八糟(低内聚),还和其他模块紧紧绑在一起(高耦合),会让系统难以维护和扩展