恐惧是黑暗之源

我们常听到这样的话:这些代码不允许改。为什么呢,怕改出错。其实,往往开发人员的直觉告诉他们,这段不可维护的代码如果不重写,可能会错误不断。我们也可以稍微做个简单的统计,就可以知道历史上这种情况里改掉的错误远比增加的错误多,而且除了错误减少以外,往往新代码都比以前清晰,更容易发现错误;如果不重写的话,每次系统测试这里都有故障,堵住这个漏洞又出现另一个。

但为什么还是不让改呢?因为恐惧。恐惧会把意识带向原力的黑暗面。恐惧来源于未知和惩罚。因为不知道改的后果,所以恐惧;因为改出错惩罚很厉害,所以恐惧。

另一种常见的恐惧就是:“我们不希望你这样做,因为我们害怕你会偷懒”

典型的就是文档,有些文档写的时候就知道,这份文档是write only的,再不会有一个人去读,啊,不对,QA有可能去读,他要确认你写了,但他不关心内容,没有人关心文档的内容。很明显,这份文档可以从过程中删除,但往往没有,因为有人恐惧。由于恐惧会创造出大量的文档工作。害怕代码无法维护,要求一定要写详尽的设计文档,也许要精确到函数,可这种文档要么没有人看,要么看了发现和程序根本对不上号,一句话,没用,还可能引起误解。所以有句尖刻的话:文档就是让经理觉得大权在握的手段。

如果考虑上面的问题太复杂,可以先考虑一个简单的例子,要求做算术运算。25*25等于多少?相信各位很快就能回答:625!

“可是,你怎么知道是625的呢?”一个小学生经过了1分钟的竖式运算后得到了同样的答案,同时对你运算得如此快表示崇拜。你说:“这算啥,如果史丰收(著名速算家)来,那就是7888999*76896897也能马上得到答案。”

现在说说某公司吧,这个公司由于某些原因,真的招了一批小学生水准的员工,然后制定了一个规程,规定所有算术运算必须用竖式进行。那些1秒钟就得到答案的人,说你们呢,你们有运算过程的证据吗?没有竖式运算的文档,怎么证明你们做过运算!

很可笑是吧,这个例子可能有些夸张,但类似的东西经常出现在周围。

我们试想一下,如果有一天一个开发人员生病了,肯定会影响进度,这是风险。但一个正常的项目经理,不会因为害怕这种风险而为开发人员配备一个专职医师,随时进行身体检查,保证开发人员基本不生病。同样,我们也不会因为害怕陨石击中大楼引起重大损失而在楼顶装一个天文台。为什么不会有这种事发生呢?因为这样做虽然可以消除恐惧,但成本太高,收效不大。

所以,要制定规程,必须在内心抛开恐惧,抵制诱惑,用自己的直觉,确保项目以最低成本进行运作。

原力的黑暗面3-恐惧是黑暗之源相关推荐

  1. 原力的黑暗面4-愿原力与你同在

    问个简单的问题:如果Lippman到我们公司工作,会考核S吗?Hehe,我看不一定. Lippman作为大师,写代码错误很少,无需走查或unit test,就基本没什么错误,偶尔几个错误,也由于代码清 ...

  2. 网易星球竞拍终于到来,同时增加50原力的新任务,这次你满意吗

    网易星球 原定于3月17号进行的网易星球黑钻拍卖,由于竞拍物品远远低于用户预期,造成大量用户的抗议,最终网易不得不将黑钻拍卖延期.给出的理由是"参与竞拍的合作伙伴过于踊跃".但明眼 ...

  3. 星战 java_星战知识之多少 -- 暗黑原力西斯(Sith)篇

    "Always two there are, no more, no less: a master and an apprentice" - Yoda "从来都有两个 ...

  4. unity3d api 中文文档_unity3D游戏开发工程师完整简历范文

    基本信息 姓名:七分简历 年龄:23岁 电话:131****7089 邮箱:689262****@qq.com 经验:1年 意向:unity3D游戏开发工程师 教育背景 时间:2011-09 - 20 ...

  5. 浅谈 iOS Device ID 的修改

    Dark side of the Force 最近有一篇 文章 介绍了如何实现 AppStore App 自动下载,笔者看后收获良多.不过文中只介绍了如何去模拟用户的操作来完成下载,并没有涉及抹机.I ...

  6. OSChina 周三乱弹 —— 外星来的和尚会念经

    Osc乱弹歌单(2019)请戳(这里) [今日歌曲] @ 小鱼丁:分享Us The Duo的单曲<One Last Dance>: <One Last Dance>- Us T ...

  7. linux的manual手册不存在,在 Linux 命令行下使用“原力”

    原标题:在 Linux 命令行下使用"原力" 和绝地武士的原力一样,-f 参数是很强大的,并伴随着潜在的毁灭性,在你能用好的时候又很便利. -- Alan Formy-duval( ...

  8. 算法将成为人工智能时代的“科技原力”

    10月25日,"TEDx漕河泾--科技的原力"主题演讲在上海举行,腾讯公司副总裁姚星在演讲中回顾了中国互联网20年经历的三个阶段,并且展望了人工智能行业的发展趋势."算法 ...

  9. stol函数在linux下使用,技术|在 Linux 命令行下使用“原力”

    和绝地武士的原力一样,-f 参数是很强大的,并伴随着潜在的毁灭性,在你能用好的时候又很便利. 近些年来,科幻发烧友开始在每年的 5 月 4 日庆祝星战节,其口号是绝地武士的祝福语"愿原力Fo ...

最新文章

  1. ACM 中常用的算法有哪些?
  2. Nginx+UWSGI+Django配置全过程
  3. python基础教程:函数作用域
  4. 一、NLTK工具包使用
  5. 由IDC机房测试谈主动工作教学实战案例!
  6. 软件测试--selenium安装使用
  7. python中result的用法_Python中qutip用法示例详解
  8. 这本在日本销量突破70W+的 Python 书,凭什么这么火?
  9. Android Studio的TableLayout的使用(自定义列拉伸,收缩,隐藏,横跨列)
  10. Python中使用static、class、abstract方法
  11. shop++ jtm2.5最新版本发布
  12. ie8安装java提示被阻止_IE8浏览器安装失败的解决方法
  13. 分布式专题(1)- 计算机网络
  14. 动词的时态(Les temps du verbe )
  15. 如何用电脑画平面坐标图_在Word中如何画坐标图?
  16. 腾讯云 视频通话SDK 第一个坑 域名要开https
  17. 基于决策树的电网负荷预测
  18. Python高效替代Excel了,你会吗?
  19. 快速Vsftpd配置手记
  20. 两级分销加两级代理佣金计算工具

热门文章

  1. matlab中的a‘与a.‘的不同之处
  2. 华北电力大学控制与计算机工程学院老师,华北电力大学控制与计算机工程学院导师教师师资介绍简介-杨静...
  3. python文件管理_python——文件管理
  4. 为什么现在很多年轻人愿意到北上广深打拼,即使过得异常艰苦,远离亲人,仍然义无反顾?
  5. Go语言函数作为 值 赋值给一个变量 和 函数作为参数传入另一个函数的写法你不想了解咩
  6. Pytorch的model.train() model.eval() torch.no_grad() 为什么测试的时候不调用loss.backward()计算梯度还要关闭梯度
  7. Django cms 教程二:新建页面
  8. 计算机电源管理最高续航,高效电源管理 vivo TWS Neo最大支持27小时续航
  9. 20、MySQL分库分表,原理实战
  10. surfer9 与Arcgis9.3 完美生成等值线和等值面方法