日拱一卒,每日单机 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); 保证重构不出错的技术手段:单元测试和代码的可测试性; 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)。 建立持续重构意识,把重构当作开发的一部分,融入到日常的开发中。 五者之间的联系 面向对象:是很多设计原则、设计模式的基础 设计原则:指导代码设计的经验总结 设计模式:软件开发中经常遇到的设计问题总结出来的方案或思路 编程规范:解决代码可读性,持续小重构 重构:利用以上理论,保持代码质量不下降的有效手段 面向对象、设计原则、设计模式、编程规范、代码重构,这五者都是保持或者提高代码质量的方法论,本质上都是服务于编写高质量代码这一件事的。
编写高质量代码
今天就分享到这, 我们明天见!