在我们开发的过程中,我们常说要注重代码质量,那常用的代码评价标准有哪些呢?
常用的代码的评价标准有以下几个:
- 可维护性:在不破坏原有代码设计、不引入新的bug的情况下,能够快速地修改或者添加代码
- 可读性:代码是否符合编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等等。
- 可扩展性:容易添加一个新功能
- 灵活性:代码易扩展、易复用、易用
- 简洁性:kiss原则,代码简单,清晰
- 可复用性:尽量减少重复代码的编写,复用已有的代码
- 可测试性:代码的可测试性反应了代码的质量的好坏
设计模式中重要的概念以及他们的关联性:
- 面向对象:是主流的编程风格,具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计编码实现的基础
- 面向对象需要掌握的知识点
- 面向对象的四大特性:封装、抽象、继承、多态
- 面向对象编程与面向过程编程的区别和联系
- 面向对象分析、面向对象设计、面向对象编程
- 接口和抽象类的区别以及各自的应用场景
- 基于接口而非编程实现的设计思想
- 多用组合少用继承的设计思想
- 面向过程的贫血模型和面向对象的充血模型
- 设计原则:设计原则是指导我们代码设计的一些经验总结,我们需要知道哪些设计原则能解决哪些编程问题,常用的设计原则有以下:
- SOLID原则-SRP:单一职责原则
- SOLID原则-OCP:开放封闭原则
- SOLID原则-LSP:里式替换原则
- SOLID原则-ISP:接口隔离原则
- SOLID原则-DIP:依赖倒置原则
- DRY原则: dont repeat 不要做重复的事情
- KISS原则:keep it simple,尽量使得代码简单
- YAGNI原则:you arent gonna need it,只是着眼必需的功能,不添加认为可能需要的功能
- LOD法则:类应该减少被外界直接访问的机会,类与类直接避免直接通信
- 编程规范:主要解决代码的可读性问题
- 代码重构:软件是不停迭代的,随着需求的变化,就必然会存在问题。针对这些问题,我们需要进行代码重构。持续重构是保持代码质量不下降的有效手段,能够有效避免代码腐化到无可救药的地步
- 重构需要掌握的知识点
- 首先,重构需要明白的几点就是:重构的目的(why)、对象(what)、时机(when)、方法(how)
- 保证重构不出错的技术手段:单元测试和代码的可测试性
- 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)
常用的设计模式以及运用设计模式的目的:设计模式是针对软件开发中经常遇到的一些问题,总结出来的一套解决方案或者设计思路。大部分设计模式要解决的都是代码的可扩展性问题。
- 常用的设计模式的分类
- 创建型
- 单例模式、工厂模式、建造者模式
- 原型模式(不常用)
- 结构型
- 代理模式、桥接模式、装饰者模式、适配器模式
- 门面模式、组合模式、享元模式
- 行为型
- 观察者模式、模板模式、策略模式、责任链模式、迭代器模式、状态模式
- 访问者模式、备忘录模式、命令模式、解释器模式、中介模式
五者之间的联系
- 面向对象编程因为其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式等编程实现的基础
- 设计原则是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义。比如说“开放封闭原则”是很多设计模式(策略,模板等)的指导原则
- 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。应用设计模式的主要目的是提高代码的可扩展性
- 编程规范主要解决代码的可读性问题
- 重构作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编程规范这些理论