美文网首页
2023-02-27 设计模式讲的是如何写出可扩展、可读、可维护

2023-02-27 设计模式讲的是如何写出可扩展、可读、可维护

作者: pyNeverGiveUp | 来源:发表于2023-02-27 18:02 被阅读0次

实际上,大部分设计原则、设计思想、设计模式理解起来都不难,难的是如何将这些理论灵活恰当地应用到实际的开发中

设计模式讲的是如何写出可扩展、可读、可维护的高质量代码

如何分层、分模块?应该怎么划分类?每个类应该具有哪些属性、方法?怎么设计类之间的交互?该用继承还是组合?该使用接口还是抽象类?怎样做到解耦、高内聚低耦合?该用单例模式还是静态方法?用工厂模式创建对象还是直接new出来?如何避免引入设计模式提高扩展性的同时带来的降低可读性问题?

应对面试中的设计模式相关问题;告别写被人吐槽的烂代码;提高复杂代码的设计和开发能力;让读源码、学框架事半功倍;为你的职场发展做铺垫

有些能力,要早点锻炼;有些东西,要早点知道;有些书,要早点读。这样在你后面的生活、工作、学习中,才能一直都发挥作用。不要等到好多年后,看到了,才恍然大悟,后悔没有早点去学、去看。

到底如何烂、如何好?

维度,像对人做评价一样

灵活性(flexibility)、可扩展性(extensibility)、可维护性(maintainability)、可读性(readability)、可理解性(understandability)、易修改性(changeability)、可复用(reusability)、可测试性(testability)、模块化(modularity)、高内聚低耦合(high cohesion loose coupling)、高效(high effciency)、高性能(high performance)、安全性(security)、兼容性(compatibility)、易用性(usability)、整洁(clean)、清晰(clarity)、简单(simple)、直接(straightforward)、少即是多(less code is more)、文档详尽(well-documented)、分层清晰(well-layered)、正确性(correctness、bug free)、健壮性(robustness)、鲁棒性(robustness)、可用性(reliability)、可伸缩性(scalability)、稳定性(stability)、优雅(elegant)、好(good)、坏(bad)……

我们并不能通过单一的维度去评价一段代码写的好坏。比如,即使一段代码的可扩展性很好,但可读性很差,那我们也不能说这段代码质量高。

最常用的评价标准有哪几个?

仔细看前面罗列的所有代码质量评价标准,你会发现,有些词语过于笼统、抽象,比较偏向对于整体的描述,比如优雅、好、坏、整洁、清晰等;有些过于细节、偏重方法论,比如模块化、高内聚低耦合、文档详尽、分层清晰等;有些可能并不仅仅局限于编码,跟架构设计等也有关系,比如可伸缩性、可用性、稳定性等。

为了做到有的放矢、有重点地学习,我挑选了其中几个最常用的、最重要的评价标准,来详细讲解,其中就包括:可维护性、可读性、可扩展性、灵活性、简洁性(简单、复杂)、可复用性、可测试性。

可维护性:

我们可以从侧面上给出一个比较主观但又比较准确的感受。如果bug容易修复,修改、添加功能能够轻松完成,那我们就可以主观地认为代码对我们来说易维护。相反,如果修改一个bug,修改、添加一个功能,需要花费很长的时间,那我们就可以主观地认为代码对我们来说不易维护

可读性:

如果你的同事可以轻松地读懂你写的代码,那说明你的代码可读性很好;如果同事在读你的代码时,有很多疑问,那就说明你的代码可读性有待提高了。

可扩展性:

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

灵活性:

如果一段代码易扩展、易复用或者易用,我们都可以称这段代码写得比较灵活。

简洁性

思从深而行从简,真正的高手能云淡风轻地用最简单的方法解决最复杂的问题。这也是一个编程老手跟编程新手的本质区别之一。

可复用性:

代码可复用性跟DRY(Don’t Repeat Yourself)这条设计原则的关系挺紧密的

可测试性

相关文章

  • 2022-05-03 代码重构案例

    如何code review代码? 代码code review 从大处着眼可以从可读性、可维护性、可扩展、可复用、可...

  • 谈谈如何写好单元测试?

    一 首先什么是好代码? Q1:好代码应具备可读性,可测试性,可扩展性等等,那么如何写出好代码? A:设计思想 & ...

  • 设计模式开篇

    设计模式与原则 设计模式原则是为了提高代码的可维护性,可复用性和可扩展性,设计模式是设计模式原则的具体体现。 设计...

  • JavaScript 设计模式

    设计模式 可重用、可扩展、可解耦、容易理解 目标是为了代码复用,增加可维护性 原则:对扩展开放,对修改关闭里氏转换...

  • 《设计模式之美》笔记:设计原则和思想

    感谢王铮大神在极客时间的课程《设计模式之美》 评价代码质量好坏的维度:可维护性;可读性;可扩展性;灵活性;简洁性;...

  • 设计模式

    设计模式的概念 被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。使...

  • 架构师软件设计目录

    UML建模 设计模式 架构模式 功能性设计 性能设计 可用性设计 可靠性(容错性)设计 可维护性设计 可扩展性设计...

  • 设计模式

    通过封装,继承,多态,把程序耦合度降低,使代码可维护,可扩展,可复用,灵活性更好。 设计模式的原则 单一职责原则:...

  • 好棒的前端文章 - 收藏集 - 掘金

    你应该知道的 4 种 JavaScript 设计模式 - 前端 - 掘金每位开发者都努力写出可维护的、易读的、可复...

  • 设计原则

    设计原则可以指导我们写出更加通用、可扩展、可读、健壮的代码。设计原则大多都比较好理解,但是如果将这些原则结合业务逻...

网友评论

      本文标题:2023-02-27 设计模式讲的是如何写出可扩展、可读、可维护

      本文链接:https://www.haomeiwen.com/subject/rxucldtx.html