要具备编写高质量代码的能力,需要学习一些编程方法论,其中就包括面向对象、设计原则、设计模式、编程规范和重构技巧等。
面向对象
主流的编程范式或者编程风格有三种,分别是面向对过程、面向对象和函数式编程。面向对象又是最主流的,主要的编程语言也都支持面向对象。面向对象因为具有丰富的特性,诸如封装、抽象、继承、多态等可以实现很多复杂的设计思路,是很多设计原则、设计模式编码实现的编程基础。面向对象需要掌握以下七个知识点:
- 面向对象的四大特性:封装、抽象、继承和多态
- 面向对象编程和面向过程编程的区别与联系
- 面向对象分析、面向对象设计和面向对象编程
- 接口和抽象类的区别以及各自的使用场景
- 基于接口而非实现编程的设计思想
- 多用组合少用继承的设计思想
- 多用组合少用继承的设计思想
设计原则
设计原则是指导我们代码设计的一些经验总结。关于设计原则需要掌握如下几个常用的设计原则:
- SOLID原则–SRP单一职责原则
- SOLID原则–OCP开闭原则
- SOLID原则—LSP里式替换原则
- SOLID原则—ISP接口隔离原则
- SOLID原则—DIP依赖倒置原则
- DRY原则、KISS原则、YAGNI原则、LOD原则
设计模式
设计模式是针对软件开发过程中常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。设计模式需要解决代码的可扩展性问题。经典的设计模式有23种。这23种设计模式又可以分为三类:创建型、结构性型和行为型。
-
- 创建型。常用的有单例模式、工厂模式、和建造者模式
-
- 结构型。常用的有:代理模式、桥接模式、装饰者模式和适配器模式
-
- 行为型。常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式和状态模式
编程规范
编程规范主要解决的是代码的可读性问题。编程规范更加具体,更加侧重于代码细节。对于编程规范可以参考《重构》、《代码大全》和《代码整洁之道》等。20条最能改善代码质量的编程规范。
代码重构
在软件开发过程中,只要软件在不停的迭代,就没有一劳永逸。随着代码的堆砌,原有的设计必然存在这样那样的问题,针对这些可能的问题就需要做代码重构。重构是软件开发中的重要的一环。持续重构是保持代码质量不下降的有效手段,可以有效的避免代码腐化到无可救药的地步。
重构的工具就是前面所说的设计原则、设计思想、设计模式和编程规范等。关于重构需要掌握如下几个知识点:
- 重构的目的why、对象what、时机when、以及方法how
- 保证重构不出错的技术手段:单元测试和代码的可测试性
- 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)