zoukankan      html  css  js  c++  java
  • High Quality Coding

      几条面向对象课上介绍的高质量代码写作原则:

       1. Don't Repeat Yourself

            不要重复你自己,重复代码,类似代码都是问题的隐患。程序员为了能够节省时间,喜欢复制现成的代码,稍加修改制作自己的调用的函数(方法),这种做法将会把原有的问题复制一份,修改的时候也要修改两份。重复代码的问题在诸多问题之中往往被列为首位。

          2. Single Responsibility Principle
           单一职责原则。一个类只干与自己相关的事情,一个方法只做一件事情,一个变量只表达一个意思。如果违背这个原则,那么代码理解的速度就会降低。并且,调用的时候会由于名称的误导而导致重复调用、意外行为等不可预期的错误。而修改代码的时候也因为其职责过多而致使影响性变大,导致无从下手,或者不敢下手。

          3. Open Closed Principle
           开放封闭原则,指的是代码对变更封闭,对扩展开放。当系统需要扩展的时候,可以通过派生子类或者重载函数的方式进行扩展,而无需修改原来的代码。这样做的好处是,当系统进行扩展的时候由于无需修改原来的代码,所以对原来系统的影响性也可以降到最小。

          4. Liskov Substitute Principle

             里氏代换原则。子类可以替代父类。这句话看似废话。但是实际上含义很深。比如经典的对面向对象技术的质疑话题:园非椭圆问题。即根据面向对象原则,园应该是椭圆的一个子类。但是当椭圆进行单轴拉伸的时候,圆无法做到这一点。实际上这违反了里氏代换原则。即圆是受限制的椭圆,圆无法继承椭圆所有行为和属性。所以,在面向对象课上老师爱用的例子:动物->狗这个例子也会有其谬误之处。动物在这里更应该是多个接口,而不是类,因为它不能保证所有的属性都会被所有的子类正确的继承。例如:

          5. Interface Segregation Principle
             接口分离原则。一个接口只做一类事情,将无关的行为分离成为其他的接口。从而使得接口单元变小。则调用方只需要了解自己相关的几个接口就可以了,而无需了解那些与自己无关的接口。同时也避免了去访问那些它不应该访问的接口。 

          6. Dependency Inversion Principle

            依赖倒置原则。有两层意思:访问依赖于抽象,不依赖于具体实现;实现依赖于抽象,抽象不依赖于实现。当调用方和实现都依赖于接口的时候,二者的耦合度就大为降低了。
          7. Law of Demeter

            迪米特法则。也叫最少知识原则。即对象只需要了解那些它需要的属性,只访问那些和它关系最密切的对象。这样可以减少对象的外部依赖。但是,需要了解的是,迪米特法则会创建大量的中介类。

  • 相关阅读:
    有限元矩形单元一阶拉格朗日插值函数流程
    有限元二阶拉格朗日插值函数理论
    MATLAB有限元二维编程(三角单元)
    【项目管理】项目经理每天、每周、每月应该做的都在这
    【项目管理】中小公司PMO不一样期间的责任
    【项目管理】PRINCE2常见问答
    如何用几句话概括PRINCE2学习?
    项目管理——收益管理
    【项目管理】项目管理发展的新阶段——PRINCE2项目管理方法
    【MSP是什么】最佳管理实践指南
  • 原文地址:https://www.cnblogs.com/HughParker/p/4549829.html
Copyright © 2011-2022 走看看