破窗效应

定义

后来,辛巴杜用锤子把那辆车的玻璃敲了个大洞。 结果呢,仅仅过了几个小时,它就不见了。 以这项实验为基础,政治学家威尔逊和犯罪学家凯琳提出了一个“破窗效应”理论,认为:如果有人打坏了一幢建筑物的窗户玻璃,而这扇窗户又得不到及时的维修,别人就可能受到某些示范性的纵容去打烂更多的窗户。

软件工程

破窗效应其实反应了重构的需求, 而放纵软件中各种乱象, 其最终结果可预测到是软件的熵越来越高.

复制黏贴的例子

class A{private static Logger log = Logger.getLogger(A.class); //A.class参数复制黏贴容易忘记 (1)public void method(){{//想要使用的东西  (2)}dosth();//复制者不清楚该代码是干嘛(3)}private void dosth(){int A="Astring"}}//复制黏贴后class B{private static Logger log = Logger.getLogger(A.class); //需修改 (1)public void method(){{//想要使用的东西  (2) 需全删除}dosth();}private void dosth(){String str="Bstring"//(3)需修改}}class C{private static Logger log = Logger.getLogger(A.class); //需修改 (1)public void method(){{//想要使用的东西  (2) 需全删除}dosth();}private void dosth(){int A="Astring"//(3)需修改}}

复制黏贴了两次之后, 我们发现,这里有两处硬代码, 分别是(1),(3). 注意这时候, A,B,C是具有相同特征, 却没有进行重构,

重复代码数据少

  1. 通过将类A提取出来父类, B,C,D继承该父类(接口)
  2. 统一添加方法, 或者修改

Intellij IDEA有该重构的快捷操作

这时候若是找到相同特征, 就应该现在抽象出现. (重点) 即便不知道该抽象叫什么名字

抽象可以使用抽象类(反正JDK7下的就只能使用这个, 从而达到减少重复代码)

重复代码数量多情况 (开始崩坏)

当该类似的代码多了之后, 我们要进行重构就会遇到阻力.

  1. A,B,C,D….他们在哪个包, 要怎么找到他们. (这里显得有特征 [父类] 和 [接口]的重要性)
  2. 找到A,B,C,D..要进行一一修改, 这工作量大

接下来, 为什么我觉得这里会容易出现 [破窗效应]?

找到Class A,B,C…是有难度, 所以有的程序员认为, 应该采取碰到该类再修改, 出于以下原因

  1. 修改了之后不知道是否真没影响, 需要一一检查
  2. 工作量大, 工程进度要求, 且放下

这样导致的问题

  1. [疑惑] 新参与项目的员工遇到同一个功能, 有两种或以上写法, 倘若选择了旧的, 将会导致代码[破窗效应] (软件的熵升高)

小鸦 - 破窗效应 简单的反思相关推荐

  1. 告别破窗效应!月薪过万原来如此简单……

    经济寒冬,就业困难,发展前景渺茫--在这种竞争环境下,要进入哪个行业似乎很难掌握什么知识.因为,在选择工作的背后,它不像穿衣服.如果看起来不好,就换一个.当你进入一个前景令人担忧的行业时,你面临的现状 ...

  2. 人生启示录效应篇之破窗效应:及时矫正和补救正在发生的问题

    Dear Diary    2011-03-16    星期三 美国斯坦福大学心理学家菲利普·辛巴杜(Philip Zimbardo)于1969年进行了一项实验,他找来两辆一模一样的汽车,把其中的一辆 ...

  3. 破窗效应(Break Pane Law)

    破窗效应:及时矫正和补救正在发生的问题. 破窗效应的由来 美国斯坦福大学 心理学家 菲利普 · 辛巴杜 (Philip Zimbardo) 于 1969 年进行了一项实验,他找来两辆一模一样的汽车,把 ...

  4. 破窗效应-谁在打破第一扇窗户?(转)

    破窗效应-谁在打破第一扇窗户? 社会学家JamesQ.Wilson和GeorgeL.Kelling在<BrokenWindows>中指出:"一个房子如果窗户破了,没有人去修补,隔 ...

  5. devops:软件开发中的破窗效应

    文章目录 @[toc] 简介 一.脏代码 二.测试 1.没有测试 2.混乱的测试代码 3.难以测试 4.测试运行太慢 三.源代码管理 四.难以集成 五.可视化 六.笨重的流程 小结 简介 应该有很多人 ...

  6. 网络安全须防“破窗效应”

    一幢有少许破窗的建筑,如果那些破窗不被修复,就会有人破坏更多的窗户:一面墙,如果出现一些涂鸦没有被及时清洗掉,很快墙上就布满了乱七八糟的东西.这就是心理学研究上的"破窗效应"现象. ...

  7. 软件微信鱼虾蟹系统开发中的破窗效应

    应该有很多人已经知道破窗效应[注1]这个社会学 (犯罪学)的词语,破窗效应最先由社会学家James Q. Wilson和George L. Kelling在一篇名为<Broken Windows ...

  8. 生活中的定律——破窗效应

    破窗理论:没修复的破窗,导致更多的窗户被打破 由美国政治学家威尔逊和犯罪学家凯琳观察总结的"破窗理论"指出环境可以对一个人产生强烈的暗示性和诱导性.读读下面这个例子: 如果有人打坏 ...

  9. 程序员口中的 - 破窗效应

    破窗效应是什么? 为什么说是破窗效应? 怎么做避免破窗效应发生? 扩展:天生人会模仿人 一.破窗效应是什么? 简洁概括:如果一个广场的角落特别乱,垃圾洒落一地,从没有人收拾,慢慢的别人也会乱扔垃圾丢在 ...

最新文章

  1. ajax实现关联词提示
  2. mysql null 和 空字符串 区别
  3. AS-External-LSA
  4. excel字符串和单元格拼接_Excel实例分享-学会输入数据小技巧,让你的工作效率远超同事...
  5. 酷狗音乐的大数据实践
  6. SqlServer清空数据表数据
  7. Powershell常用命令
  8. 你可以通过这13种方法帮助Linux发展
  9. html模拟终端,超级终端连续ping
  10. 利用小波分解后,频率计算问题
  11. 《应用时间序列分析:R软件陪同》——2.6 MA 模型
  12. 计算机主机结构3维图,台式主机内部结构图,主机结构图
  13. struts2框架入门(基于maven)
  14. 韩寒《三重门》精彩语录2
  15. Android ViewPager 循环轮播
  16. 论文笔记——Thompson Sampling for Contextual Bandits with Linear Payoffs(线性收益)
  17. 低通滤波器的一阶RC电路模型
  18. 力软下拉框多选_下拉框--可多选
  19. FineReport数据集
  20. js数组array的常用方法

热门文章

  1. JNPF快速开发平台 3.4新版本 企业版旗舰版 框架源码目录 大屏设计 大屏源码
  2. 使用粘滞键在Windows中留后门
  3. 网易airtest录制web应用测试脚本
  4. 数通笔记IP.1-认识网络设备
  5. Linux下G4L硬盘备份方案
  6. node下载安装配置淘宝镜像以及遇到的问题
  7. 任正非最新谈中美、科技、ChatGPT
  8. 勇敢者的游戏——VC
  9. Ubuntu 16.04 下pkg-config的安装与简介
  10. 前端基础:jQuery