关于设计模式:设计模式代码质量评价标准和设计原则

0次阅读

共计 1204 个字符,预计需要花费 4 分钟才能阅读完成。

1、代码品质评估规范

  • 可维护性(maintainability)

    “代码易保护”就是指,在不毁坏原有代码设计、不引入新的 bug 的状况下,可能疾速地批改或者增加代码。

    “代码不易保护”就是指,批改或者增加代码须要冒着极大的引入新 bug 的危险,并且须要破费很长的工夫能力实现。

  • 可读性(readability)

    任何傻瓜都会编写计算机能了解的代码。好的程序员可能编写人可能了解的代码。

  • 可扩展性(extensibility)

    代码的可扩展性示意,咱们在不批改或大量批改原有代码的状况下,通过扩大的形式增加新的性能代码。

  • 灵活性(flexibility)

    如果一段代码易扩大、易复用或者易用,咱们都能够称这段代码写得比拟灵便。

  • 简洁性(simplicity)

    尽量放弃代码简略。代码简略、逻辑清晰,也就意味着易读、易保护。咱们在编写代码的时候,往往也会把简略、清晰放到首位。

  • 可复用性(reusability)

    尽量减少反复代码的编写,复用已有的代码。

  • 可测试性(testability)

    代码可测试性的好坏,能从侧面上十分精确地反馈代码品质的好坏。代码的可测试性差,比拟难写单元测试,那基本上就能阐明代码设计得有问题。

其中比拟罕用的三个规范是:可维护性、可读性、可扩展性。

2、设计准则

  • SRP 繁多职责准则

    一个类或者模块只负责实现一个职责(或者性能)

  • OCP 开闭准则

    软件实体(模块、类、办法等)应该“对扩大凋谢、对批改敞开”。

  • LSP 里式替换准则

    • 子类对象(object of subtype/derived class)可能替换程序(program)中父类对象(object of base/parent class)呈现的任何中央,并且保障原来程序的逻辑行为(behavior)不变及正确性不被毁坏。
    • 子类在设计的时候,要恪守父类的行为约定(或者叫协定)。父类定义了函数的行为约定,那子类能够扭转函数的外部实现逻辑,但不能扭转函数原有的行为约定。这里的行为约定包含:函数申明要实现的性能;对输出、输入、异样的约定;甚至包含正文中所列举的任何非凡阐明。
  • ISP 接口隔离准则

    客户端不应该被强制依赖它不须要的接口。其中的“客户端”,能够了解为接口的调用者或者使用者。

  • DIP 依赖倒置准则

    高层模块(high-level modules)不要依赖低层模块(low-level)。高层模块和低层模块应该通过形象(abstractions)来相互依赖。除此之外,形象(abstractions)不要依赖具体实现细节(details),具体实现细节(details)依赖形象(abstractions)。

  • DRY 准则、KISS 准则、YAGNI 准则、LOD 法令

    • DRY

      不要写反复的代码。

    • KISS

      尽量放弃简略

    • YAGNI

      不要去设计以后用不到的性能;不要去编写以后用不到的代码。核心思想就是:不要做适度设计。

    • LOD

      不该有间接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口。

正文完
 0