导读

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.创建型常用的有:

    • 单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。
    • 不常用的有:原型模式。
    1. 结构型常用的有:
      • 代理模式、桥接模式、装饰者模式、适配器模式。
      • 不常用的有:门面模式、组合模式、享元模式。
    1. 行为型常用的有:
      • 观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。
      • 不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式。编程规范

        代码重构

  • 重构的目的(why)、对象(what)、时机(when)、方法(how);

  • 保证重构不出错的技术手段:单元测试和代码的可测试性;
  • 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)。

image.png