设计原则中,何为DRY原则的内涵?

2026-05-22 12:470阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1064个文字,预计阅读时间需要5分钟。

设计原则中,何为DRY原则的内涵?

DRY原则,即不要重复自己,其英文描述为Don't Repeat Yourself。中文直译为不要重复自己。简单理解,就是避免编写重复的代码,重复的逻辑、功能或执行。这三种重复指的是:实现重复、功能重复和执行重复。

DRY原则

  DRY 原则,它的英文描述为:Don’t Repeat Yourself。中文直译为:不要重复自己。也可以理解为:不要写重复的代码。

  我们从实现逻辑重复、功能语义重复和代码执行重复,这三种代码重复来说明DRY原则。

实现逻辑重复

  例如有两个函数isValidUserName() 和 isValidPassword() ,它们的代码其实是一样的,这个时候如果我们将其合并成一个函数,虽然代码量减少了,也没有重复代码,但却违反了DRY原则,从代码实现逻辑上看起来是重复的,但是从语义上并不重复。所谓“语义不重复”指的是:从功能上来看,这两个函数干的是完全不重复的两件事情,一个是校验用户名,另一个是校验密码,其实两个代码是做不同的事情,如果因为代码一样合并了,后面由于用户名或者密码校验逻辑改变,都将使函数再次拆分成两个函数。

功能语义重复

  现在我们再来看另外一个例子。在同一个项目代码中有下面两个函数:isValidIp() 和 checkIfIpValid()。尽管两个函数的命名不同,实现逻辑不同,但功能是相同的,都是用来判定 IP 地址是否合法的。尽管两段代码的实现逻辑不重复,但语义重复,也就是功能重复,我们认为它违反了 DRY 原则。而且如果两个函数功能一样同时存在,且都被调用,这时一个程序员如果只知道一个函数,并修改了其函数逻辑,那么会导致另一个函数的逻辑并没有改变,偶从遗漏修改。

阅读全文

本文共计1064个文字,预计阅读时间需要5分钟。

设计原则中,何为DRY原则的内涵?

DRY原则,即不要重复自己,其英文描述为Don't Repeat Yourself。中文直译为不要重复自己。简单理解,就是避免编写重复的代码,重复的逻辑、功能或执行。这三种重复指的是:实现重复、功能重复和执行重复。

DRY原则

  DRY 原则,它的英文描述为:Don’t Repeat Yourself。中文直译为:不要重复自己。也可以理解为:不要写重复的代码。

  我们从实现逻辑重复、功能语义重复和代码执行重复,这三种代码重复来说明DRY原则。

实现逻辑重复

  例如有两个函数isValidUserName() 和 isValidPassword() ,它们的代码其实是一样的,这个时候如果我们将其合并成一个函数,虽然代码量减少了,也没有重复代码,但却违反了DRY原则,从代码实现逻辑上看起来是重复的,但是从语义上并不重复。所谓“语义不重复”指的是:从功能上来看,这两个函数干的是完全不重复的两件事情,一个是校验用户名,另一个是校验密码,其实两个代码是做不同的事情,如果因为代码一样合并了,后面由于用户名或者密码校验逻辑改变,都将使函数再次拆分成两个函数。

功能语义重复

  现在我们再来看另外一个例子。在同一个项目代码中有下面两个函数:isValidIp() 和 checkIfIpValid()。尽管两个函数的命名不同,实现逻辑不同,但功能是相同的,都是用来判定 IP 地址是否合法的。尽管两段代码的实现逻辑不重复,但语义重复,也就是功能重复,我们认为它违反了 DRY 原则。而且如果两个函数功能一样同时存在,且都被调用,这时一个程序员如果只知道一个函数,并修改了其函数逻辑,那么会导致另一个函数的逻辑并没有改变,偶从遗漏修改。

阅读全文