好资源和短想法
Do We Need a Theory of Everything? http://backreaction.blogspot.com/2020/07/do-we-need-theory-of-everything.html
Website allows you to experience what it is like to live with dyslexia http://geon.github.io/programming/2016/03/03/dsxyliea
WindowSwap: View someone's window somewhere in the world https://window-swap.com/
Hosting your entire web application using S3 and CloudFront https://www.sankalpjonna.com/posts/hosting-your-entire-web-application-using-s3-cloudfront
Just Too Efficient https://www.tbray.org/ongoing/When/202x/2020/07/05/Too-Efficient
Do not remain nameless to yourself (1966) https://lettersofnote.com/2015/10/23/do-not-remain-nameless-to-yourself/
Building a self-updating profile README for GitHub https://simonwillison.net/2020/Jul/10/self-updating-profile-readme/
augustbradley 的 Youtube 视频
Knowledge Management System in Notion – Introducing Vaults
Knowledge Management System in Notion – Introducing Vaults
结合上述的三个讨论:「抽取更多单元」、「集成测试配合单元测试」、「避免测试私有方法」的思想,我们能发现一种高效的 TDD 方式:
先写集成测试,覆盖原始的需求,确保最通用、最基础的逻辑能够正常工作。
重构时抽取私有方法,将逻辑分解到更小的方法(输入,解析,处理,输出)中去。
抽取、整理私有方法,成为新的、更小的单元,并进行单元测试。
在每个单元中覆盖到各种边界条件的处理,若这个单元开始变得复杂,那么它的单元测试又向集成测试发展,因此我们又能回到 1 重复整个流程。
先写集成测试,覆盖原始的需求,确保最通用、最基础的逻辑能够正常工作。
重构时抽取私有方法,将逻辑分解到更小的方法(输入,解析,处理,输出)中去。
抽取、整理私有方法,成为新的、更小的单元,并进行单元测试。
在每个单元中覆盖到各种边界条件的处理,若这个单元开始变得复杂,那么它的单元测试又向集成测试发展,因此我们又能回到 1 重复整个流程。