为什么要学习设计模式

  1. 应对面试中的设计模式相关问题
  2. 告别写被人吐槽的烂代码
  3. 提高复杂代码的设计和开发能力
  4. 让读源码、学框架事半功倍
  5. 为你的职场发展做铺垫

自己是为了第2,4点来学设计模式的

什么是好代码,坏代码?

如何评价代码质量的高低?

描述代码质量的名词

灵活性(flexibility)、可扩展性(extensibility)、可维护性(maintainability)、可读性(readability)、可理解性(understandability)、易修改性(changeability)、可复用(reusability)、可测试性(testability)、模块化(modularity)、高内聚低耦合(high cohesion loose coupling)、高效(high effciency)、高性能(high performance)、安全性(security)、兼容性(compatibility)、易用性(usability)、整洁(clean)、清晰(clarity)、简单(simple)、直接(straightforward)、少即是多(less code is more)、文档详尽(well-documented)、分层清晰(well-layered)、正确性(correctness、bug free)、健壮性(robustness)、鲁棒性(robustness)、可用性(reliability)、可伸缩性(scalability)、稳定性(stability)、优雅(elegant)、好(good)、坏(bad)……

最常用的评价标准有哪几个?

  1. 可维护性(maintainability)

    跟代码(可读性,可扩展性)和维护人员编码能力都有关系,具有强烈的主观色彩。

  2. 可读性(readability)

    我们需要看代码是否符合编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等等

  3. 可扩展性(extensibility)

    对修改关闭,对扩展开放

  4. 灵活性(flexibility)

    代码易复用

    简洁性(simplicity)

    代码功能尽量单一,符合KISS 原则:“Keep It Simple,Stupid”

  5. 可复用性(reusability)

  6. 可测试性(testability)