导读
1 面试所需(适当的区分度) 2 告别烂代码,让实现优雅起来。老司机后,要参与指导菜鸟,也要会。 3 show me the code ,你牛不牛,终归还需要代码的展现,把框架说得头头是道又如何,技术看技术,硬核不行,外表的东西白搭。没法成为别人心中的大牛的
what is good code
其中就包括:可维护性、可读性、可扩展性、灵活性、简洁性(简单、复杂)、可复用性、可测试性。
其中就包含面向对象(我们可以把它看成一种设计思想)、设计原则、设计模式、编程规范、重构技巧等。
面向对象
- 面向对象的四大特性:封装、抽象、继承、多态
- 面向对象编程与面向过程编程的区别和联系
- 面向对象分析、面向对象设计、面向对象编程
- 接口和抽象类的区别以及各自的应用场景
- 基于接口而非实现编程的设计思想
- 多用组合少用继承的设计思想
-
设计原则
SOLID 原则 -SRP 单一职责原则
- SOLID 原则 -OCP 开闭原则
- SOLID 原则 -LSP 里式替换原则
- SOLID 原则 -ISP 接口隔离原则
- SOLID 原则 -DIP 依赖倒置原则
DRY 原则、KISS 原则、YAGNI 原则、LOD 法则
设计模式
它们又可以分为三大类:创建型、结构型、行为型。
1.创建型常用的有:
- 单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。
- 不常用的有:原型模式。
- 结构型常用的有:
- 代理模式、桥接模式、装饰者模式、适配器模式。
- 不常用的有:门面模式、组合模式、享元模式。
- 结构型常用的有:
重构的目的(why)、对象(what)、时机(when)、方法(how);
- 保证重构不出错的技术手段:单元测试和代码的可测试性;
- 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)。