这些编程与软件工程视频可以按眼前的问题来选。正在设计新模块,就看简单性、API 和数据边界;异步代码让人摸不着头绪,可以先弄清事件循环;系统偶发失败却无法复现,确定性模拟会给出另一种测试思路。
按问题选,不必先挑语言
这些演讲会出现 Scheme、Clojure、Java 和 JavaScript,但重点通常不在语法。讲者借具体语言讨论抽象、状态、接口和执行模型,换一套技术栈后仍然用得上。
遇到陌生代码可以先听结论和推理过程。真正值得记下来的,是讲者怎样划分问题、识别复杂度,并验证自己的设计是否成立。
从设计走到运行时
软件设计类视频先处理概念边界:什么应该放在一起,什么应该分开,公共 API 要替调用者承担多少成本。运行时主题接着解释调用栈、任务队列、性能测量和系统故障。
两部分一起看更有用。只谈结构,容易忽略代码实际怎样跑;只追性能数字,又可能在错误的边界上继续优化。
把一场演讲带回项目
每看完一部,找一处正在维护的代码做对照。比如检查一个 API 的默认值,画出一段异步流程的任务顺序,或者列出测试从未覆盖的故障组合。
不用急着照搬讲者的方案。先确认它指出的问题在你的项目里确实存在,再做小范围改动,往往比一次重构整套系统可靠。
十场演讲按问题顺序排好:先理解抽象与复杂度,再看重构、API 边界、运行时、性能和测试。
继续看编程经典演讲 ↗6 个值得先看的视频
-
↗课程讲座 · 入门
Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
SICP 第一课从过程与表达式讲起,适合重新审视程序到底是什么,以及抽象为什么能控制复杂度。
11 位 HN 用户给出正向推荐,分布在 9 个不同月份
-
↗演讲 · 通用
Hammock Driven Development - Rich Hickey
Rich Hickey 讲清楚写代码之前怎样给问题留出思考时间,对设计新功能和排查棘手问题都很实用。
12 位 HN 用户给出正向推荐,分布在 11 个不同月份
-
↗演讲 · 中级
"Simple Made Easy" - Rich Hickey (2011)
把 simple 和 easy 分开后,许多架构争论会清楚得多。这也是理解软件复杂度的一场经典演讲。
14 位 HN 用户给出正向推荐,分布在 14 个不同月份
-
↗演讲 · 中级
How To Design A Good API and Why it Matters
从调用者的角度检查 API 的边界、命名和兼容性,适合设计公共接口前观看。
12 位 HN 用户给出正向推荐,分布在 12 个不同月份
-
↗演讲 · 中级
What the heck is the event loop anyway? | Philip Roberts | JSConf EU
用直观演示解释调用栈、Web API 与任务队列,JavaScript 的事件循环终于可以画出来,而不是靠猜。
16 位 HN 用户给出正向推荐,分布在 14 个不同月份
-
↗演讲 · 中级
"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
确定性模拟让罕见的分布式故障可以重复出现,为测试并发和状态组合提供了很强的工程方法。
12 位 HN 用户给出正向推荐,分布在 11 个不同月份
继续缩小主题范围
下面这些分类会直接打开已经套用筛选条件的视频库。