两件小事,感受到了和大神的差距

这是一篇短文,分享下两件小事的感受。

1

去年写过一篇漫画《康熙学不了二进制》,讲述了二进制和布尔代数的发展,最后由香农发现布尔代数和逻辑电路之间的关系,奠定了计算机发展的基础。 

我的漫画科普到此就打住,结束了。 

最近在看吴军老师的书《计算之魂》,我发现他也在讲这个故事,来了好奇心,仔细看了看。 

故事是相似的,没有新意,但是后面的总结却提出了一个让人耳目一新的观点:

香农的电路设计思想可以被总结为“模块化”和“等价性”。 

所谓模块化就是用少量简单的模块搭建出各种复杂的功能,这也是今天计算机行业的核心指导思想。 

在计算机的产品中,常常是大量相同模块的复制,这也是IT产业能发展很快、摩尔定律能成立的重要原因。 

等价性即再复杂的计算都可以等价成很多加、减、乘、除的运算,再进而等价成开关电路的逻辑,也就是说,实现了后者,间接地实现了前者。 

我一下子就感受到了差距,我只是描述了现象,没有触及到本质,没有总结出规律。

我反问自己:对布尔和香农的故事,你能想到这一层吗? 

似乎不行。

如果是单纯技术层面,比如讲redis这样的缓存的时候,我就会深挖到底层:计算机各个部件之间速度差异巨大。但是对技术发展历史来说,我做不到。

可见知识面还不够广阔,洞察力还不够深刻,上升不到这个层次。

表面现象谁都可以讲几句,但是背后那些深刻的东西讲起来就难了, 但恰恰就是这些东西,让我们印象深刻,触及内心。

以后还是得多读书,更加深入思考,努力地从现象发掘本质,总结出规律性的东西出来。

2

写关于单元测试文章的时候,搜到了Martin Fowler写的一篇文章, 我一看到其中的图就感觉被搔到了痒处。 

图展示的是单元测试,比如,你在测试Order类,Order类引用到了Product和Customer,那做单元测试的时候,要不要把这俩货用Mock技术给隔离开测试呢? 

我原来写单元测试经常会遇到这种情况,每次给人解释都很费劲。 

Martin Fowler的厉害之处在于他对两种情况作了分析, 各自总结了一个贴切的名字:

1.  Sociable Tests  

“社交化”的测试,表示大家(Order, Product, Customer)都在一起,不隔离

fca35588449766c5763ce7dda884aa25.png

2.  Solitary Tests

“孤独的”测试,表示隔离开,只测试Order类。

622b2b8006b9212570a7704cec362ad8.png

这真是让我眼前一亮, 有了双方都认可的名称,交流效率就极大提升了,就像设计模式那样,只要你说你用了观察者模式,我不看代码就知道大致长什么样子。 

我不由得反思:这两种测试方式已经在我心中盘踞很久,我为什么没有总结一下,给它起个有趣,贴切的名称呢? 

首先是意识不足,没想到;其次恐怕还是能力不够。 

能够说出别人想说,但是难以表达的东西,成功地搔到大家的痒处,这真是一件厉害的本事。

3

两件小事,让我感受到了和大神很大的差距。 

想继续往上走,知识面需要更加宽广,洞察力必须更强,思考必须更加深入。 

需要经常记录、整理、思考、输出,如果我们整天看碎片化的东西,大脑就废掉了。

一篇短文,和大家共勉。 

(完)

点击下方图片,查看更多精彩

55398cee410ee6a5e4f27e44579a3d82.png

3502fa229ac61f851fb9b81f71af4060.png

78c02507f74d0cea9fabea94eddc7585.png

fe8bcf5d6b5503aff06ad9a203503960.png

ce0ca38c5dea26222a65c2ac4076a379.png

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值