程序设计中的dry原则

DRY:dont repeat yourself

假设一个逻辑(代码块)会重复两次或者以上,应该写成函数被调用

为什么呢,实际上,我们处处可见重复性的代码.这除了增加工作量之外,还会增加维护难度。

dry原则不仅仅是炫技。它的代码更容易被维护。假设某个逻辑需在多个地方被重复编写,当你需要更改此逻辑时,也意味着你需要在多个地点更改代码。想想这个问题吧:要改那几处来着???2处需要同步的代码比一处代码工作量不仅仅两倍好吗,除非你记忆力特别好,能够找到你冬天埋下的所有松果。但很可能遗漏,这增加了代码本身的风险。

因此如果我尽量会将相似的代码按照dry原则合并,这样你仅仅需要集中关注该逻辑的严密性与正确性,就能够保证多处代码的一致,不管调试还是维护都方便。

实际上,这跟数据库的冗余原理是一样,但代码却不会带来冗余的好处。

时间: 2024-11-26 11:09:09

程序设计中的dry原则的相关文章

DRY 原则

DRY——Don't Repeat Yourself Principle,直译为“不要重复自己”原则^_^ DRY简而言之,就是不要写重复的代码.原则本身很简单,但是,对于OOAD来说,有着非常重大的意义. DRY利用的方法就是抽象:把共同的事物抽象出来,把代码抽取到一个地方去.这样就可以避免写重复的代码. 举一个DRY的典型例子,如果在一个类构造的时候,需要进行成员的初始化,在进行了某些操作以后,同样要进行初始化,那么就可以把“初始化”抽象出来,做成一个方法Initial(),在构造和需要用到

程序设计中的命名

[程序设计中的命名] 在设计过程中好的命名不一定但更大可能会带来好的设计,但是如果坏的命名那一定不会给你带来好的设计.在设计过程,如果你发现你很难命名某一个模块,某个方法时,可能你真正遇到的问题不是难命名的问题,而是这个设计是否真的合理,你或许应该花更多的时间来重新设计一下你的模块. 1.名字应该尽量采用名词 Bad:           Happy Good:          Happiness 2.不要使用类似名字空间的前缀 Bad:           SystemOnlineMessa

DRY原则

DRY--Don't Repeat Yourself Principle,直译为"不要重复自己"原则 DRY简而言之,就是不要写重复的代码.原则本身很简单,但是,对于OOAD(面向对象的分析和设计)来说,有着非常重大的意义. DRY利用的方法就是抽象:把共同的事物抽象出来,把代码抽取到一个地方去.这样就可以避免写重复的代码. 举一个DRY的典型例子,如果在一个类构造的时候,需要进行成员的初始化,在进行了某些操作以后,同样要进行初始化,那么就可以把"初始化"抽象出来,

优秀程序设计的18大原则

1.避免重复原则(DRY - Don’t repeat yourself) 编程的最基本原则是避免重复.在程序代码中总会有很多结构体,如循环.函数.类等等.一旦你重复某个语句或概念,就会很容易形成一个抽象体. 2.抽象原则(Abstraction Principle ) 与DRY原则相关.要记住,程序代码中每一个重要的功能,只能出现在源代码的一个位置. 3.简单原则(Keep It Simple and Stupid ) 简单是软件设计的目标,简单的代码占用时间少,漏洞少,并且易于修改. 4.避

Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折

Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折 1.1.1. 软件的本质:抽象  1 1.2. 软件开发的过程就是不断抽象的过程 1)机器语言--> 汇编语言-->高级语言,这就是一个不断抽象的过程,1 1.3. 代码的抽象三原则_软件工程_酷勤网.htm1 1.4. "软件是存储.通信.UI(user interface)和业务逻辑的紧密结合体2 1.5. 在软件的生命周期中,较稳定的是存储和通信,最

设计模式(一)之程序设计的6大原则

2017.3.31 反正我认为我写的东西如此的low,应该也不会有人理睬:暂且容忍自己的自言自语吧!我这是病有加重了,是该吃药了!可惜,没有特效药来吃,只能凭借自己的意志力扛了!谁让咱没钱,自救是最省钱最便捷的手段:抱怨过后,好多了,自救开始-- 现今大三的我,打算从设计模式抓起: 别人问你设计模式是啥玩意? 为了显得很专业,你可以谈谈的说道:"它是一套被反复使用,被多数人知晓的,经过分类编目的,代码设计经验的总结":(心道:尼玛,还好有度娘!),我感肯定,你的(学究)形象瞬间高大了许

Hbase中rowkey设计原则

Hbase中rowkey设计原则 1.热点问题 在某一时间段,有大量的数据同时对一个region进行操作 2.原因 对rowkey的设计不合理 对rowkey的划分不合理 3.解决方式 rowkey是hbase的读写唯一标识 最大长度是64KB. 4.核心原则 设计必须按照业务需求进行设计 5.长度原则 经验:10~100字节可以 官方:16字节,因为操作系统时8字节进行存储 6.散列原则 划分region是按照rowkey的头部进行划分. 有几种方式: )组合字段 id+timestamp )

第04章 程序设计中的流程控制

/**第四章 程序设计中的流程控制 @选择语句 形式一:if(条件表达式) 单条语句; 形式二:if(条件表达式){ 语句体;} 形式三:if(条件表达式){ 语句体;}else{ 语句体;} 形式四:if(条件表达式){ 语句体;}else if{ 语句体;} 形式五:if(条件表达式){ 语句体;}else if{ 语句体;}else{ 语句体;}=========================================================================

树结构在程序设计中的运用

                                                                                引言 近年来,由于各种竞赛纷纷采用free-pascal,因此对于算法来说,空间效率上的要求降低了,而对时间效率却提出了更高的要求.这使得选手不仅要娴熟地掌握常规算法,而且要大胆创新,构造更高效的算法来解决问题. 在以往的程序设计中,链式结构采用得较多.的确链式结构有编程复杂度低.简单易懂等优点,但有一个致命的弱点:相邻的两个元素间的联系