伪装的拖延
Source: Dev.to
Introduction
最近我开始探索 TypeScript。最初获得新技能的兴奋很快被一种压倒感和困惑所取代——尤其是在尝试决定在特定情境下使用哪种概念时。这种不确定感是学习和走出舒适区的正常标志。然而,如果你在这种不确定中徘徊而不去实践,它就会演变成拖延。
Procrastination in disguise
程序员常常通过阅读更多资料和研究来避免拖延。我意识到,过度阅读本身也会成为一种拖延形式,类似于经典的“我明天再做”。
一个具体的例子是我在 interfaces(接口)和 type aliases(类型别名)上的挣扎。我有两个主要问题:
- 在创建类型时,类型别名和接口有什么区别?
- 如果它们看起来做同样的事,为什么会同时存在?
我不停地阅读文章、观看视频,但概念始终没有真正点通。为打破循环,我构建了一个简单的词典应用,从 Oxford Dictionary 公共 API 获取单词定义。在实现 API 客户端的过程中,我终于明白了何时以及如何有效使用接口和类型别名:
- Interfaces 适用于描述与传入 API 响应相匹配的对象形状。
- Type aliases 让你为重复使用的类型赋予可复用的名称,从而使未来的更改更容易。
创建接口时我发现了重复的字段类型,于是用类型别名替代它们——这展示了两者在实际中的互补价值。
Stepping out of your comfort zone
通过这次动手实践,我发现了一个常见模式:许多开发者先阅读概念,自己说服自己已经理解,然后推迟实际练习。阅读越多而不应用,编码的恐惧感就越强,而没有练习就没有进步。
Final Thoughts
无论你处于什么水平,采用以下循环:
- Introduce yourself to a new concept.(向自己介绍一个新概念)
- Jump straight into practice—build a small project or experiment.(直接动手实践——构建小项目或实验)
- When you hit a wall, return to the material for clarification.(遇到障碍时,回到材料中寻找澄清)
通过在简短阅读和立即编码之间交替,你可以避免拖延的陷阱,建立更深、更持久的理解。