写点什么

筷子定理(二)

  • 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:23838

评论

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

Linux ssh 登录及免密登录

玄兴梦影

Linux 免密登录

AICon演讲实录 | 谢皓:AI Agent 在边缘云的探索与实践

火山引擎边缘云

边缘计算 智能硬件 AI 大底座 Agents 边缘智能

Mythical Games: 通过 Polkadot 革新游戏与数字资产所有权

One Block Community

AI 代理碎片化格局下,哪些具体赛道及项目值得关注

TechubNews

去中心化金融 #人工智能

某讯面试中常见的Java集合面试题

王中阳Go

Java 集合 面试问题 后端】

2025,谁会成为 AI Agent 的新入口?|播客《编码人声》

声网

微服务架构中的服务注册与发现有哪些?Zookeeper、Eureka、Nacos、Consul 都有什么区别,实现原理是什么?

码哥字节

微服务 注册中心

《CPython Internals》阅读笔记:p61-p75

codists

CPython Internals

某讯面试中常见的Java多线程面试题

王中阳Go

Java 多线程 面试问题 后端】

2024数据库编程大赛冠军挑战赛,5位选手用DuckDB和Doris挑战成功

NineData

sql Doris NineData 云数据库技术 数据库编程大赛

预测市场平台 Aegis:Al Agent + Web3,为预测市场提供新的动力

股市老人

NineData云原生智能数据管理平台新功能发布|2024年12月版

NineData

oracle DevOps Package 存储过程 NineData

联发科技携手Cocos:推动端侧生成式 AI,为游戏开发注入新动力

科技范儿

实力!云起无垠入选中国信通院《数字安全护航技术能力全景图》

云起无垠

微软开源超强小模型 Phi-4,超 GPT-4o、可商用;HeyGen 集成 Sora 推全新数字人技术

声网

还不会 Cert Manager 自动签发证书?一文掌握

北京好雨科技有限公司

Kubernetes rainbond 云原生‘’ 企业号 2025年1月PK榜

成为敏捷引领者,Scrum中文网PSM课程助你成就ScrumMaster之路

爱吃鱼的小雨

Scrum 敏捷开发 ScrumMaster认证 敏捷培训 PSM

📢 2025 First LOOK! CnosDB 新版本 2.4.3.1 发布 📢

CnosDB

AI rust 物联网 时序数据库 CnosDB

怎么制作情绪板?10个情绪板案例盘点!

职场工具箱

设计 设计师 在线白板 办公软件 可视化展示

Data For AI:2025年数据集成技术趋势预测

白鲸开源

数据同步 数据集成 数据管道

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