Loading...
墨滴

被水淹没

2021/05/04  阅读:38  主题:橙心

# 日拱一卒 | 设计模式之美 | 01导学

日拱一卒 | 设计模式之美 | 01 导学

tag:日拱一卒、设计模式之美

日拱一卒,每日单机 hhh(1/100)

今天学习分享的是王争的《设计模式之美》

为什么要学习设计模式?

总结一下的话,主要有这几点:

  • 拒绝写烂代码
  • 提高复杂代码的设计和开发能力
  • 让读源码学框架事半功倍
  • 为职场发展做铺垫。

如何写出高质量代码?

代码质量最常用的评价标准

  • 可维护性(maintainability)

    在不破坏原有代码设计、不引入新的 bug 的情况下,能够快速地修改或者添加代码。

  • 可读性(readability)

    代码是否符合编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等等。

软件设计大师 Martin Fowler 曾经说过:“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” 翻译成中文就是:“任何傻瓜都会编写计算机能理解的代码。好的程序员能够编写人能够理解的代码。

  • 可扩展性(extensibility)

    代码预留了一些功能扩展点,可以把新功能代码直接插到扩展点上,而不需要因为要添加一个功能而大动干戈,改动大量的原始代码。

  • 灵活性(flexibility)

    易扩展、易复用或者易用。

  • 简洁性(simplicity)

    编写代码的时候把简单、清晰放到首位。

  • 可复用性(reusability)

    减少重复代码的编写。

  • 可测试性(testability)

    代码的可测试性差,比较难写单元测试,那基本上就能说明代码设计得有问题。

如何才能写出高质量的代码

要写出高质量代码,需要掌握一些更加细化、更加能落地的编程方法论,这就包含面向对象设计思想、设计原则、设计模式、编码规范、重构技巧等等。

他们之间的关系

面向对象

面向对象编程因为其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式编码实现的基础。

设计原则

对于每一种设计原则,我们需要掌握它的设计初衷,能解决哪些编程问题,有哪些应用场景。这样我们才能在项目中灵活恰当地应用这些原则。

设计模式

了解它们都能解决哪些问题,掌握典型的应用场景,并且懂得不过度应用。

编程规范

每条编码规范都非常简单明确,比较偏向于记忆,只要照着来做可以。这边总结了一些比较常用的,有时间可以学习《重构》《代码大全》《代码整洁之道》等。

代码重构

重构是软件开发中非常重要的一个环节。持续重构是保持代码质量不下降的有效手段,能有效避免代码腐化到无可救药的地步

需要掌握:

  • 重构的目的(why)、对象(what)、时机(when)、方法(how);
  • 保证重构不出错的技术手段:单元测试和代码的可测试性;
  • 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)。
  • 建立持续重构意识,把重构当作开发的一部分,融入到日常的开发中。

五者之间的联系

  • 面向对象:是很多设计原则、设计模式的基础
  • 设计原则:指导代码设计的经验总结
  • 设计模式:软件开发中经常遇到的设计问题总结出来的方案或思路
  • 编程规范:解决代码可读性,持续小重构
  • 重构:利用以上理论,保持代码质量不下降的有效手段

面向对象、设计原则、设计模式、编程规范、代码重构,这五者都是保持或者提高代码质量的方法论,本质上都是服务于编写高质量代码这一件事的。

编写高质量代码
编写高质量代码

今天就分享到这, 我们明天见!

被水淹没

2021/05/04  阅读:38  主题:橙心

作者介绍

被水淹没