QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

筷子定理(二)

  • 2020-01-17
  • 本文字数:919 字

    阅读完需:约 3 分钟

筷子定理(二)

我的筷子定理

还拿开头的 TDD 为例,一般我们大多数人习惯的方式是遇到问题后(例如实现一个计算前 n 位斐波那契数的函数),采用的是自上而下的设计实现方式,就是先想一个解决方案(例如递归啊什么的),然后写代码实现,这很自然是吧,相信大多数人也是这么做得。


而 TDD 所使用的方式是自下而上的设计实现方式,就是先快速解决 n 是 1 的情况,再快速解决 n 是 2 的情况,以此类推,通过不断地“红-绿-重构”来驱动实现的一步步演进同时驱动出好的设计。


乍一看 TDD 所使用的方式有点古怪,而且这个思路的转换对于大多数人都很难,难到让人本能的就想抗拒。所以才会有了这个问题:既然自上而下的方式已经可以解决问题了,为什么还要去自讨苦吃地去学习 TDD 自下而上的方式呢?


看来……是时候掏出我的筷子了…… (▭-▭)✧


如果说解决一个具体问题的过程,可以类比成寻找一根筷子平衡点的过程。


传统的自上而下的设计实现方式就像从左向右寻找筷子的平衡点。



而 TDD 中所描述的自下而上的设计实现方式则像是从右向左寻找筷子的平衡点。



两种方式虽然方向不同,但目标是相同的,自然也没有好坏之分。


既然都可以做到,为什么我还需要学两种不同的方式呢?


答案很简单:因为你会的越多,选择才会越多,也才有可能融会贯通,突破极限,达到一个更高的境界。例如,在找筷子平衡点这个问题上,就可以通过结合这两种不同的方式让整个过程变得更快,且更加容易(我闺女都能轻易做到)。而面对复杂的软件问题时,知识越多,视角越多,同样也可以帮我们从不同方向快速的逼近真正的目标。



那什么是经验呢?在我看来经验就是可以帮我们从一个比别人更接近最终目标的起点开始,而且速度更快一些而已。



那大神是什么?简单来讲大神就是经验丰富到一定程度后,起点无限接近于最终目标而已。



作为大神级人物,当然不止这些,还可以做到触类旁通,融会贯通。甚至突破一些我们认为不能突破的限制,快速的学习和掌握类似的知识技能。


所以

  • 不要问我为什么要学,尝试去问我为什么不学。

  • 不要给自己设围墙,勇于乐于尝试各种不同的语言、工具、思想、甚至看问题的角度。

  • 要持续不断地练习、反思、改进,大神之路就在前方。


本文转载自健荐公众号。


原文链接:https://mp.weixin.qq.com/s/GoG2DGRRkTMF1mA_ARb48w


2020-01-17 11:23657

评论

发布
暂无评论
发现更多内容

华为云GaussDB构建智能数据底座,助推中国数字经济发展

轶天下事

PostgreSQL插件那么多,怎样管理最高效?

平平无奇爱好科技

华为云GaussDB以技术创新引领金融行业分布式转型

平平无奇爱好科技

C++的重载运算符和重载函数

芯动大师

强化学习从基础到进阶--案例与实践[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动 DDPG算法

亿级用户实时互动,GaussDB(for Redis)带您沉浸式体验迷你世界

轶天下事

智能工厂 | 上海三菱电梯有限公司电梯智能工厂

工赋开发者社区

华为云GaussDB入选“2022年数字技术融合创新应用解决方案”

平平无奇爱好科技

营销研发三年烧11.25亿负债200%,聚水潭的亏损反而是SaaS的“正面”鼓励

B Impact

【深入浅出Docker原理及实战】「Docker安装说明」零基础+全方位带你学习探索Docker容器开发实战指南(Ubuntu、Debian)

码界西柚

Docker 容器 容器化部署

为什么MySQL单表不能超过2000万行?

轶天下事

精彩纷呈!LLUG 2023 北京场活动回顾来啦 | 视频回放已上线

OpenAnolis小助手

开源 龙蜥社区 LLUG Linux中国 沙龙回顾

行业DBA走进华为,共建数据库生态

平平无奇爱好科技

技术驱动,数据赋能,华为云GaussDB给世界一个更优选择

平平无奇爱好科技

重磅新品全球公测!华为云数据库又有大动作

平平无奇爱好科技

数字化转型下我国分布式数据库应用挑战及发展建议

轶天下事

强渡大渡河!华为云GaussDB成功支撑华为MetaERP系统全面替换

平平无奇爱好科技

无惧百万级并发,GaussDB(for Cassandra)让华为Push推送服务更快触达

轶天下事

车载手势识别技术的挑战和未来发展

数据堂

华为云GaussDB践行数字化,护航证券保险高质量发展

平平无奇爱好科技

产教融合,华为云GaussDB助推高校国产数据库课程建设

轶天下事

NineData入驻华为云“联营联运”商品,为企业数据提供安全保障

平平无奇爱好科技

莲子数据与阿里云开源PolarDB合作助力制造业数字化转型

阿里云数据库开源

polarDB PolarDB-X PolarDB-PG

智能工厂中人工智能应用场景及技术分析

工赋开发者社区

新应用爆发,开启5G的鱼龙之变

脑极体

5G

黄瑾:做强坚实数据库底座,GaussDB与产业携手共进

平平无奇爱好科技

再获殊荣!华为云GaussDB喜提“科技进步一等奖”

平平无奇爱好科技

车载手势识别技术的原理及其应用

数据堂

企业如何数字化转型?企业数字化转型面临哪些挑战?

优秀

企业数字化转型

这年头怕数据泄露?全密态数据库:无所谓,我会出手

平平无奇爱好科技

招行&华为云,科技进步一等奖!

轶天下事

筷子定理(二)_语言 & 开发_王健_InfoQ精选文章