文档章节

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
粉丝 23
博文 223
码字总数 199911
作品 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
【英】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
The Cucumber for Java Book读书笔记[二]

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

小紅
2016/03/30
64
0

没有更多内容

加载失败,请刷新页面

加载更多

谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linuxCool
24分钟前
1
0
SpringBoot内置定时任务

springBoot内置定时任务 应用场景 业务监控,定时发送邮件,定时删除缓存等等。 Spring Boot 内置定时 pom 包配置 <dependencies> <dependency> <groupId>org.springframework.b......

Grittan
28分钟前
12
1
在 Linux 中基于密钥认证的 SSH的配置方法

什么是基于 SSH 密钥的认证? 众所周知,Secure Shell,又称 SSH,是允许你通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议。无论何时使用 SSH 在无安全网络上发...

linuxprobe16
45分钟前
1
0
sed命令

10月17日任务 9.4/9.5 sed 1.sed(上)(下) 1.sed 匹配功能 #sed -n ‘/root/’ p test.txt 将带有root的内容打印出来 同时支持 . * 还有 + 不过需要脱译,或者在前面选项加r。 支持{ } 支...

hhpuppy
56分钟前
1
0
day120-20181018-英语流利阅读-待学习

千禧一代注意了:一大波公司正向你的钱包袭来 Daniel 2018-10-18 1.今日导读 这几年,你有没有发现,不管是在微信公众号还是在抖音,有越来越多的商家和品牌开始玩起了网络用语和表情包,从卖...

飞鱼说编程
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部