zoukankan      html  css  js  c++  java
  • [置顶] 从small到safe,形容词的学问

    高中的时候,历史老师黄勇是个非常有趣的人。黄老师讲课的时候眉飞色舞,我一个哥们说,上他的课你不可能睡觉。因为太有趣了。也很幸运有这么好的老师。黄老师是特级教师,后面好像去了教育局。也是很遗憾的。

    历史上经常会有什么新革命,新变法之类的。每次,遇到这种带有“新”字的东西,黄老师都要问,“这个‘新’,‘新’在哪里?”。

    当你不断的被重复某句话的时候,你很难不记住这句话。就好像恒源祥的广告,“恒源祥,羊~羊~羊~”,听过以后,就很难从脑袋里拔掉。不信你就试试下面的。

    “这个‘新’,‘新’在哪里?”

    “这个‘新’,‘新’在哪里?”

    “这个‘新’,‘新’在哪里?”

    “这个‘新’,‘新’在哪里?”

    记住了?。

    到后来,不用老师说,我们都会异口同声的说“这个‘新’,‘新’在哪里?”

    问了这个问题以后,黄老师会教我们如何分析:新在哪里?与旧有什么不同?

    也就是那个时候我开始发现,一个小小的形容词都会有这么多的学问。好多时候,对一个东西的认识的层度,似乎很神奇的取决于你对这个东西的形容词的理解层度。

    几年之前,大学本科的时候。我看过了Kent Beck的《Test Driven Development》。在TDD这本书中,Beck经常提到一个词:small steps。也就是在我们的写TDD,写重构的时候,需要small step。

    准备好了吗?

    什么是small step?

    small是什么?

    跟big有什么区别?

    多small才算是small?

    为什么需要small?

    连珠炮似的发问已经条件反射般的射进了我的脑子

    一次,参加完成都的openparty,趁了大大的一顿饭,聊起了很多。一段,我当时谈到了我的看法,就是TDD中最难拿捏的问题也许就是small step的问题,多small才足够。大大也说,就算是工作了几年的人也不一定能够把控的好。后面也听到过八叉讲Pair换键盘的速度最好是15分钟以内。这似乎都在说的是small。

    在我看来,small是一种关乎信心的东西,虽然人是很聪明的,但终究人的智力是有限的。人的大脑能处理的复杂度也是有限的。当我们使用small的时候,我们出现错误的可能就小了。也不会在进行一个big step的时候,跨出了一大步,才开始想起,蛋在哪里?

    前几天,当我看到了Beck的比较新的一篇博客《Don’t Cross the Beams: Avoiding Interference Between Horizontal and Vertical Refactorings》的时候,http://www.threeriversinstitute.org/blog/?p=594 (如果你看过TDD,不妨看下这篇文章,会对你的TDD看法有些新的认识,我也想稍微整理下我的思路,以后写篇博客,从不同的角度谈谈我的认识,应该也会比较有趣)

    文章里,Beck没有再说small steps了,取而代之的是safe steps。

    再次准备好了?

    什么是safe step?

    safe是什么?

    unsafe是什么?

    多safe才算是safe?

    为什么需要safe?

    我不想在结尾给出一个标志性的答案,但是我觉得当你问了上面的问题的时候,你会想,至少是尝试想其中的奥秘。也会发现从small到safe。这个形容词,更加反映了我们关心的问题的本质。

    生活中,学习中,我们有很多时候会遇到形容词,形容词也是我们生活中不可少掉的一部分,我们会说一个女人长的很性感,另一个男人长的很猥琐。但也许下次,我们可以都多问问,多多想想这个女人是哪里性感了,而这个男人又是哪里猥琐了。

    当然,我个人的话,是觉得女人臀部最性感,男人coding最猥琐。

  • 相关阅读:
    Azure存储账户的日志分析方法
    导出zabbix监控数据
    centos7下kubernetes(18。kubernetes-健康检查)
    centos7下kubernetes(17。kubernetes-回滚)
    unity接入安卓SDK,与安卓相互通信
    (转)坐标 旋转 计算
    矩阵运算试验
    photonServer学习之连接数据库
    C#委托链
    git命令大全
  • 原文地址:https://www.cnblogs.com/java20130722/p/3206857.html
Copyright © 2011-2022 走看看