文档章节

Don’t Repeat Yourself

woshixin
 woshixin
发布于 07/17 21:14
字数 321
阅读 1
收藏 0

    在软件工程中,Don’t Repeat Yourself(DRY)是软件开发的原则,旨在减少重复,用抽象代替它,使用数据规范化来避免冗余。

    这个原则在维基百科上是说是由Andy Hunt和Dave Thomas《The Pragmatic Programmer》一书中指出“在一个系统内,每一个点都必须有一个单一的,明确的,权威的表达”,它们应用得相当广泛,包括“数据库模式、测试计划、构建系统,甚至文档”。当DRY原则成功应用时,对系统中任何单个元素的修改都不需要更改其他逻辑上不相关的元素。此外,逻辑上相关的元素都会发生可预测的、一致的变化,从而保持同步。

    但是产品的需求和业务的变化总是千奇百怪的,所以有时候我们会给代码打很多补丁。

    在一个http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read 调查的排名中,这本排了第二:

© 著作权归作者所有

共有 人打赏支持
woshixin
粉丝 22
博文 188
码字总数 165778
作品 0
杭州
程序员
how to improve your English hearing

how to improve your English hearing not VOA not VOA special , so many words you don't know . for example here is a VOA special news: The U.S. Secretary of State John Kerry cited......

jeffsui
2015/08/27
0
0
程序员修炼之道-DRY与巧合编程

DRY(Don’t Repeat Yourself)是架构设计中经常用到的一句话,这一原则应用非常广泛,在程序设计中同样会用到,不少代码或许不知不觉中违反了这一定义,如《程序员修 炼之道》一书中就有如下一...

TimYangNet
2010/06/01
0
0
Avoiding duplicate symbol errors during linking by removing classes from static libraries

If you’re using a static library in your project and specifying the flag to ensure files containing Objective-C categories are loaded correctly, you’ll likely experience “dup......

cuibo1123
2014/01/22
0
0
The Cucumber for Java Book读书笔记[二]

Part 5 Expressive Scenarios Background Background可以放置一些共有的描述,重构好帮手。 对于公用的Background,不会被多个scenario共享,每个scenario会独立运行自己的Background,仅仅起...

小紅
2016/03/30
64
0
【英】Ajax:从回调地狱到async和await

【英】Ajax:从回调地狱到async和await 阅读 34 收藏 1 2018-01-15 原文链接:www.toptal.com One of the keys to writing a successful web application is being able to make dozens of AJ......

01/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

iOS开发用到的图片尺寸汇总

启动图 型号 竖屏 横屏 iPhone SE 640px × 1136px 1136px × 640px iPhone 6s 750px × 1334px 1334px × 750px iPhone 6s Plus 1242px × 2208px 2208px × 1242px iPhone 7 750px × 1334......

业界小白
28分钟前
0
0
浅谈redis

redis是一个开源,内存式的健值存储数据库,也被称为健值存储的字典服务器。健值类型有字符串,hash(哈希类型),set(集合),list(列表) 和有序集合 特征细节: 内存式:redis将健值存储在主...

拐美人
36分钟前
0
0
无限扩容,按需使用!ZStack推出基于阿里云NAS的文件存储服务

日前,ZStack发布2.6.0版本,正式宣布推出基于阿里云NAS的文件存储服务。得益于业界领先的阿里云分布式存储架构,融合NAS后的ZStack 2.6.0拥有高性能、高可靠、容量无限扩展、一键操作、按需...

ZStack社区版
38分钟前
1
0
崛起于Springboot2.X之Mongodb多数据源处理(35)

多数据源:4个mongodb库! 目录结构图: 1、添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId>......

木九天
44分钟前
0
0
如何获取显示器的EDID信息

Q1: 为什么要写这篇文章? A1:在最近的工作中遇到了不少问题,其中很多都是和EDID相关的。可以说,作为一家以“显示”为生的企业,我们时时刻刻在与EDID打交道。EDID这东西很简单,但是如果...

DB_Terrill
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部