代码质量好坏评价/如何提高?
-
如何评价代码质量的高低?
-
主观性很强,评判维度很多,我们就以代码好不好改为准
-
- 可维护性
- 针对编码开发:所谓的“维护”无外乎就是修改 bug、修改老的代码、添加新的代码之类的工作。所谓“代码易维护”就是指,在不破坏原有代码设计、不引入新的 bug 的情况下,能够快速地修改或者添加代码。所谓“代码不易维护”就是指,修改或者添加代码需要冒着极大的引入新 bug 的风险,并且需要花费很长的时间才能完成。
-
- 可读性
- 别人看得懂,这个别人包含未来的自己
-
- 可扩展性
- 我们在不修改或少量修改原有代码的情况下,通过扩展的方式添加新的功能代码。说直白点就是,代码预留了一些功能扩展点,你可以把新功能代码,直接插到扩展点上,而不需要因为要添加一个功能而大动干戈,改动大量的原始代码。
-
- 灵活性
- 如果一段代码易扩展、易复用或者易用,我们都可以称这段代码写得比较灵活。
-
- 简洁性
- KISS 原则。最简单的方法解决最复杂的问题
-
- 可复用性
- 尽量减少重复代码的编写,复用已有的代码。
-
- 可测试性
- 侧面上非常准确地反应代码质量的好坏。代码的可测试性差,比较难写单元测试,那基本上就能说明代码设计得有问题。
-
-
如何才能写出高质量的代码?
- 如何写出高质量的代码,也就等同于在问,如何写出易维护、易读、易扩展、灵活、简洁、可复用、可测试的代码。
- 能落地的编程方法论,包括面向对象设计思想、设计原则、设计模式、编码规范、重构技巧等。而所有这些编程方法论的最终目的都是为了编写出高质量的代码。
面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?
-
目的:本质上都是服务于编写高质量代码这一件事的(也就是前面说的七个标准)贯穿全文的目标
-
面向对象
- 很多设计原则、设计模式等编码实现的基础
-
设计原则
- 一些经验总结,需要掌握它的设计初衷,能解决哪些编程问题,有哪些应用场景。对于某些场景下,是否应该应用某种设计模式,具有指导意义
-
设计模式
- 软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。应用设计模式的主要目的是提高代码的可扩展性。
-
编程规范
- 编程规范主要解决的是代码的可读性问题。
-
代码重构
- 重构作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编码规范这些理论。
在开发初期,除非特别必须,我们一定不要过度设计,应用复杂的设计模式。而是当代码出现问题的时候,我们再针对问题,应用原则和模式进行重构。这样就能有效避免前期的过度设计。
- 重构作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编码规范这些理论。