最常见的标准:
- 在不破坏原有代码设计、不引入新的Bug的情况下,能够快速地修改或者添加代码。
- 具体:代码分层清晰、模块化好、高内聚低耦合、遵从基于接口而非实现编程的设计原则等。可读性(readability)
- 符合编码规范、命名达意、注释详尽、函数长短合适、模块划分清晰、符合高内聚低耦合。可扩展性(extensibility)
- 代码预留了一些功能扩展点,可把新功能代码,直接插到扩展点上,而不需要为添加一个功能而大动干戈,改动大量原始代码。灵活性(flexibility)
- 易扩展,易复用,易用简洁性(simplicirty)
- KISS原则:Keep It Simple, Stupid。
- 尽量保持代码简单、逻辑清晰:易读、易维护。
- 思从深而行从简,真正高手能云淡风轻地用最简单的方法解决最复杂的问题。可复用性(reusability)
- 尽量减少重复代码的编写,复用已有的代码。
- 联系DRY(Don`t Repeat Yourself)设计原则。可测试性(testability)
- 从侧面展现代码是否高质量
目前主流编程范式/风格:
重点:
指导我们代码设计的一些经验总结。
常用设计原则:
针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。
大部分设计模式都是解决代码的可扩展性。
经典设计模式23种。
主要分类:
- 常用:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式
- 不常用:原型模式结构型
- 常用:代理模式、桥接模式、装饰者模式、适配器模式
- 不常用:门面模式、组合模式、享元模式行为型
- 常用:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式
- 不常用:访问者模式、备忘录模式、命令模式、解释器模式、中介模式
主要解决代码的可读性问题。
起码掌握基本的编码规范。
因软件是不停迭代的,故代码需不停堆砌,原设计会存在一些问题,解决办法就是代码重构。
持续重构是保持代码质量不下降的有效手段。
重构的工具:面向对象设计思想、设计原则、设计模式、编码规范。
知识点:
目的:保持或提高代码质量
串起来:
极客时间:设计模式之美.王争。