为什么学习设计模式
# 为什么要学习设计模式
- 应对面试中的设计模式相关问题
- 告别写被人吐槽的烂代码
- 提高复杂代码的设计和开发能力
- 让读源码、学框架事半功倍
- 为你的职场发展做铺垫
自己是为了第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)……
# 最常用的评价标准有哪几个?
可维护性(maintainability)
跟代码(可读性,可扩展性)和维护人员编码能力都有关系,具有强烈的主观色彩。
可读性(readability)
我们需要看代码是否符合编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等等
可扩展性(extensibility)
对修改关闭,对扩展开放
灵活性(flexibility)
代码易复用
简洁性(simplicity)
代码功能尽量单一,符合KISS 原则:“Keep It Simple,Stupid”
可复用性(reusability)
可测试性(testability)