美文网首页
代码规范问题

代码规范问题

作者: o_O小薯条 | 来源:发表于2024-04-06 16:31 被阅读0次

SOLID原则和DRY原则是软件工程领域中广泛认可的设计原则,用于指导开发者编写易于理解和维护的高质量代码。它们分别侧重于不同的方面,但都致力于提升软件的内聚力、可扩展性和可复用性。

SOLID原则

SOLID是五个面向对象设计原则的首字母缩写,由罗伯特·C·马丁(Robert C. Martin,又称“Uncle Bob”)提出,旨在提升面向对象软件设计的灵活性和可维护性。这五个原则分别是:

  1. 单一职责原则(Single Responsibility Principle, SRP):
  • 定义:一个类(或模块、函数等)应该只有一个引起它变化的原因。换句话说,一个类应专注于完成一个特定的任务,且只有一个职责。
    目的:通过将职责分离到不同的类中,降低耦合度,使代码更容易理解和修改,同时也便于进行单元测试。
  1. 开闭原则(Open/Closed Principle, OCP):
  • 定义:软件实体(如类、模块、函数等)应当对扩展开放,对修改封闭。即允许在不修改现有代码的基础上增加新功能。
    目的:通过抽象和继承(或接口实现)等方式,使系统能够应对需求变化,保持稳定的同时增加新功能,减少因修改原有代码带来的风险。
  1. 里氏替换原则(Liskov Substitution Principle, LSP):
  • 定义:子类对象应当可以替换父类对象出现在任何需要父类出现的地方,且不影响程序正确性。即子类必须完全遵循父类的约定和契约。
  • 目的:确保继承层次中的行为一致性,避免由于子类行为的意外改变导致的问题,强化面向对象的多态性和可替代性。
  1. 接口隔离原则(Interface Segregation Principle, ISP):
  • 定义:客户端不应该被迫依赖它不需要的接口方法。一个类对另一个类的依赖应该建立在最小的接口之上。
  • 目的:通过细化接口,使接口更具有针对性,避免胖接口带来的冗余方法和实现负担,提高接口的使用灵活性。
  1. 依赖倒置原则(Dependency Inversion Principle, DIP):
  • 定义:高层模块不应依赖低层模块,二者都应依赖于抽象。抽象不应依赖于细节,细节应依赖于抽象。
  • 目的:通过依赖于抽象(接口或抽象类),而非具体实现,降低模块间的耦合,使代码更具可扩展性和可维护性,易于应对需求变化。

DRY原则

  1. DRY原则(Don't Repeat Yourself)强调的是软件开发中的代码复用性:
  • 定义:每个系统中的知识(如逻辑、规则、数据结构等)都应有单一、明确、权威的表述。避免在代码中重复相同的逻辑或数据。
  • 目的:通过减少重复代码,降低维护成本,提高代码的可读性、可维护性和可扩展性。当需要修改某个逻辑时,只需在一个地方修改,而不是在多个地方同步更新,减少了出错的可能性。
  1. DRY原则的应用通常表现为:
  • 抽象共性:提取重复代码中的共性部分,封装成函数、类或模块,供多个地方复用。
  • 模板与生成器:使用模板引擎、代码生成工具等减少重复的样板代码。
  • 配置与元数据:使用配置文件、元数据等集中管理可能会重复的信息。
  • 继承与多态:在面向对象编程中,利用继承和多态机制避免重复实现相同或相似的功能。
总结起来,SOLID原则侧重于指导面向对象设计,关注对象的职责划分、扩展性、继承关系、接口设计以及依赖管理,旨在构建灵活、可扩展、可维护的软件体系结构。而DRY原则则关注代码的复用性,强调消除重复,以提高软件的可维护性和一致性。两者都是软件工程中重要的设计原则,共同助力开发者编写出高质量的代码。

相关文章

  • PSR-1-basic-coding-standard

    PSR-1-basic-coding-standard 基本代码规范 本节我们将会讨论一些基本的代码规范问题,以此...

  • Web 端代码规范

    目录 1、代码规范概述 2、代码规范流程搭建 3、代码规范细则 1、代码规范概述 良好的代码规范能够提供软件的可读...

  • 代码规范及问题总结

    bsp代码问题 代码整齐规范,template缩进,容器嵌套不要写的太复杂,不要写多余标签,容器组件尽量不要写死宽...

  • 关于代码规范的问题

    我新手,并且还是独立开发,所以自己的代码有很多都不符合规范,为了不被后来人骂死?【当然最多的是为自己好】,我觉得有...

  • 从代码中学习阿里编码规范(一)

    Java编程需要用到阿里编码规范。Java小白在写代码时,经常容易出现代码规范问题,以下为我根据现有代码以及阿里的...

  • PSR-1

    基本代码规范 本节我们将会讨论一些基本的代码规范问题,以此作为将来讨论更高级别的代码分享和技术互用的基础。 RFC...

  • 代码规范

    代码规范 1. 概述 欢迎使用前端代码规范, 这里借鉴、引用的是京东前端代码规范。 遵循代码规范的目的在于增强团队...

  • iOS 代码规范篇

    iOS 代码规范篇 iOS 代码规范篇

  • iOS(OC)开发之随感

    1.代码规范 规范很重要!规范很重要!规范很重要! 代码规范的重要性之-为什么谷歌要执行严格的代码编写规范http...

  • 前端学习的基本总结

    目录 1.为什要遵守代码规范 2.css代码规范 3.js代码规范与设计模式3.1 js代码规范3.2 设计模式 ...

网友评论

      本文标题:代码规范问题

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