【外刊IT评论网】“旁观者效应”是如何毁掉我们的代码的

标签: 心得体会 责任心 | 发表时间:2012-09-25 00:03 | 作者:Aqee
出处:http://www.aqee.net

1964年,纽约昆斯区,28岁的Kitty Genovese在经受了长达35分钟的性侵犯后最终被谋杀致死,共有38个本地区人性正常的居民经过,但没有一人提供帮助。

旁观者效应

犯罪

图片来源: Abu Badali, CC 2.5, via wikimedia

这个故事例证了 ‘旁观者效应’中的一个不幸的心理特:援助的几率与旁观者人数成反比。旁观者数量越多,他们当中任何一人进行援助的可能性越低。

作为程序员,我们几乎每天都能看到“旁观者效应”在起作用。如果你的代码库已经有了相当的体积和年月,你很可能知道它们会存在一些问题,比如缺乏封装或模块分离,类继承结构过于复杂,方法太长——读起来就像是Stephen King最近写的小说,未经测试或无法通过测试等等—— 但没人想去做点什么。

“旁观者效应”的问题根源

问题的根源是缺乏物主(所有者)身份。我们总是在假设别人会来修补这些问题。如果这些问题出现在我们的代码库中,我们很可能对之无动于衷,因为 “这事儿跟我无关”。程序员对这样的问题通常的反应:这是别的程序员造成的问题,我才不管呢。这种 “这事儿跟我无关”的态度很流行。

可是,这事儿事实上跟你有关。

外差因素(Externalities)的负面效应

经济学上有个词叫做“外差因素(Externalities)”,它形象的描绘了这样一个情况:A人从某件事情上获利,但B人却要为此买单或部分的买单。你作为B人,免不了会遇到要去修改A人所写的恐怖的类代码。你以为这个类应该是经过精心设计的,你以为它们都有相应的功能测试代码。但事实上,你为了一个小小的修改做了大量的工作。你的老板会奇怪,这样一个简单的任务为什么需要这么多的时间。别人犯下的愚蠢错误最终却要你来擦屁股——这就是“外差因素(Externalities)”的负面效应。

培养物主身份

纠正“外差因素“的负面作用的方法很简单:接受问题的所有者身份——不论问题是不是由你造成的。为什么要在意这个问题是谁的责任呢?造成这些问题的人很可能早就不知去向了。还在等待他们来修改这些问题吗?你永远都等不到。我们应该这样去想:除了我,没有人会来修改这些代码。

一旦你这样做了,一种所有者的身份就开始出现了。当你花了很大的功夫修改好了这些问题,而问题再次出现时,这些问题自然归你所有了,因为你为它们付出了汗水。

这样一来,我们就会开始”义务“的改进我们的代码库。你打开一段有问题的代码,你忧心忡忡的研究它,你忧心忡忡的心情很快云消雾散了,因为你发现有另外一个”圣人“已经把它修复了——多么美好的世界呀!这样的事情之所以能发生,是因为每个人都找到了自己的责任感。这是最美好的时刻。

行动起来!马上!

感觉如何?在接下来的一周里找一天时间,翻出一段代码,就当是走错了路,拐进了一条本不想走到胡同,修改一下。提交你的修改,并附加这样的注释:

/* JKH 09/12/2012 - 重构了有问题的事务处理。如果这是你喜欢的,请将此做法传递! */

本文来自 外刊IT评论网( www.aqee.net),原始地址: “旁观者效应”是如何毁掉我们的代码的


相关 [it 旁观者 效应] 推荐:

【外刊IT评论网】“旁观者效应”是如何毁掉我们的代码的

- - 外刊IT评论
1964年,纽约昆斯区,28岁的Kitty Genovese在经受了长达35分钟的性侵犯后最终被谋杀致死,共有38个本地区人性正常的居民经过,但没有一人提供帮助. 图片来源: Abu Badali, CC 2.5, via. 这个故事例证了 ‘旁观者效应’中的一个不幸的心理特:援助的几率与旁观者人数成反比.

呵旁观者文 (梁启超)

- 云透 - 非常日报
天下最可厌、可憎、可鄙之人,莫过于旁观者. 旁观者,如立于东岸,观西岸之火灾,而望其红光以为乐;如立于此船,观彼船之沈溺,而睹其凫浴以为欢. 若是者,谓之阴险也不可,谓之狠毒也不可,此种人无以名之,名之曰无血性. 嗟乎,血性者,人类之所以生,世界之所以立也;无血性,则是无人类、无世界也. 故旁观者,人类之蟊贼,世界之仇敌也.

技术总监是干什么的? - 旁观者

- - 博客园_旁观者-郑昀
郑昀 创建于2013/12/16. 最后更新于2014/2/24. 本文遵循 Creative Commons 姓名标示-非商业性使用-禁止演绎 许可协议. 转载时请注明“转载自知乎”或者给出转载文章的 原始链接. 庄表伟曾撰文 谈及研发管理 的三个提升,由于研发、质量保障、运维三者连接紧密、不分家,所以下面郑昀将其扩展了一下:要『从一个整体来考虑企业的研发管理,应该注重建立一个良性的循环:.

异地双活的四个误区 - 旁观者 - 博客园

- -
郑昀(老兵笔记) 20190305. 阿里云华北二机房2019年3月3日凌晨服务中断长达三小时,我在微博上喊出了:工程师赶紧起床,切多活流量啊. 多年前,大家往往做成了灾备机房,一主一备. 结果是,真正灾难发生的时候,最高领导人下不了决心切机房,因为无法预料切换后果(灾难总是不期而遇,切过去就可能切不回来了).

我当初是怎么管理技术团队的 - 旁观者 - 博客园

- -
关键词:管理技术人才、管理技术团队、技术传承、对题集/错题集、研发哲学. 窝窝技术团队大约两三百人左右,主要是五大块:研发、数据、无线、质量、运维. 2012年年初,一个大项目结束后,我召开了飞行研讨会,经过这次深刻反思,形成了几个影响深远的管理观点:. 管理者要向下提供工具,以形成干部的简单、易记忆、易执行的工作套路.

云纵持续交付环境管理进化历程 - 旁观者 - 博客园

- -
破天(李进庄)、冬草(宋玥辉) 创作于2018-9-10. 一个公司的运维能力强弱和你线上环境敲命令是有关的,. 你越是喜欢上线敲命令,你的运维能力就越弱,. 越是通过自动化来处理问题,你的运维能力就越强. 持续集成(Continuous Integration, CI)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.

那些年我们一起犯过的错 - 旁观者 - 博客园

- -
阶段性小结: 错误是我们的财富. 对于事故处理,我们遵从航天二十字诀: 定位准确、机理清楚、可以复现、措施有效、举一反三. “丰田生产体系”与航空航天的这个原则是相通的,如果对待错误的态度是开诚布公的,那么整套系统就能从中学习,能取得进步. 我们坚持每错必查、错了又错就整改、每错必写,用身体力行告诉每一个新员工直面错误、公开技术细节、分享给所有人,长此以往,每一次事故都会变为我们的财富.

被小伙伴们蠢哭了的那些事儿:找回密码篇 - 旁观者

- - 博客园_旁观者-郑昀
郑昀 创建于2014-01-12;. 最后更新于2014-01-13.. 找回密码功能是漏洞传统重灾区,下面列出两个经典错误点,请引以为戒吧Web开发工程师们. 一)以为用户不会抓包不会看源码不会分析表单参数,HTML文档和表单里想写啥就写啥. +手机App的忘记密码功能:. 首先,通过抓包分析,发现密码重置接口可以Web访问;其次,填入手机号码提交,.

读facebook效应

- - 搜索引擎技术博客
     我的一位室友说:“嘿,我来帮你”. 我回答他:“兄弟,你不会编程”,然后他周末回家买了一个perl编程入门的书,告诉我‘我现在准备好了’. 我就说;“兄弟,网站不是用perl语言编写的”.      我们并不想让用户在网站停留尽可能长的时间,我们所做的是让人们可以在网站用户好的体验,使他们在上面所花的时间有价值.

晕轮效应

- -
  本文9100字,向内看,多听批判的话. 这是智远的第0150篇成长笔记的分享. “还珠格格”“铁齿铜牙纪晓岚”两部电视剧. 如果现在我问你对容嬷嬷的第一印象是什么. 她呲着牙,拿着针去扎紫薇和小燕子的场景. 如果我问你对纪晓岚的第一印象是什么. 风流倜傥,不拘小节,善于言辞反应机敏诙谐挑战和珅的状态.