✅ 轻松编写更佳代码,7 个技巧助您进入状态 什么是心流?重复是心流的敌人 技能与挑战 重回状态 7 个步骤助您重回正轨 轻松编写更佳代码

2025-05-25

✅ 轻松编写更好的代码,7 个技巧助你进入状态

什么是 Flow?

重复是心流的敌人

技能与挑战

重回状态

重回正轨的 7 个步骤

在区域内编写更好的代码

什么是 Flow?

心流被描述为一种精神状态,在这种状态下,你可以完全沉浸其中、集中注意力并享受手头的任务。

当仅仅完成工作本身就具有内在激励作用时,就会产生一种轻松的感觉,工作效率极高,不需要额外的奖励或后果作为激励。


心流也被描述为“处于状态中”。


我最好的一些代码就是在这种禅定的状态下,在解决各种难题时写出来的。我很喜欢解决去年的“Advent of Code” ——一个在12月份每天都会遇到的编程难题。我全神贯注,感觉时间都静止了。

重复是心流的敌人

不幸的是,我们编码的时间越长,我们就越有可能发现自己在从事平凡的任务,一遍又一遍地解决同样的问题。

当我们的工作变得重复和例行公事时,进入状态可能会令人望而生畏。当我们所做工作的挑战与我们的技能不匹配时,进入并保持状态可能会变得困难。这种情况可能会导致我们感到冷漠、无聊,甚至焦虑。

技能与挑战

看看上面的指南。你会发现,即使对于没有经验的人来说,如果问题太简单,也会导致人们对手头的任务漠不关心或缺乏兴趣。

如果问题对于我们的技能水平来说太简单,我们可能很快就会感到厌倦。更糟糕的是,当问题难度超出我们认知的技能和能力水平时,可能会引发高度焦虑。


心流发生在具有挑战性的工作和高技能水平的交汇处。


重回状态

我们如何利用这些知识来发挥我们的优势呢?
那就是调整比例!

问题太简单了吗?增加难度,让问题顺畅进行。

这个问题太难了吗?升级并学习新技能,让自己更接近心流。


我们需要做具有挑战性的工作,同时感觉我们有能力去完成它。


听起来很简单,对吧?可惜的是,你所处的环境很可能大部分时间都不适合你进入状态。

幸运的是,虽然我们无法强制实现心流状态,但我们可以改变工作方式,以增加实现心流状态的可能性。

为了理解我们如何回顾欧文·谢弗 (Owen Schaffer)提出的心流的七个条件

重回正轨的 7 个步骤

1️⃣ 知道该做什么

知道该做什么似乎是显而易见的,但我们都坐下来打开编辑器来开发新功能或修复错误,而不清楚下一步需要做什么。

认为自己可以即兴发挥,但您的目标必须明确且可实现,才能帮助您进入状态。


💡 提示

  • 在开始之前确定工作会议的成功是什么样子的。
  • 对你需要完成的事情有一个具体的想法。

2️⃣ 知道如何做

如果你对完成手头的任务了解不够,你可能会开始担心。对失败的恐惧会引发焦虑。

成功实现流程涉及使问题变得可解决。


💡 提示

  • 通过阅读和研究来提高你的技能,直到你觉得自己掌握了足够的知识,可以再次尝试解决问题。
  • 尝试将问题分解成更小、更易于处理的部分。

3️⃣ 了解你的表现

当你解决问题时,关于你做得如何的反馈需要清晰且即时。

幸运的是,我们可以轻松设置我们的开发环境来指示成功或失败。

您是前端开发人员吗?目标是尽快完成一个可运行的原型。设置自动刷新功能,查看您的工作进度。这能让您实时推进项目进度。

获得即时反馈的另一种好方法是编写单元测试或实践测试驱动开发 (TDD)。

您无需严格遵循测试驱动开发的所有规则即可体验其优势。只需编写一些单元测试并频繁运行即可。如果您的测试套件运行速度很快,甚至可以在每次保存文件时运行测试。

绿色海洋代表通过测试


💡 提示

  • 以小增量进行工作并经常测试您的工作。
  • 编写并运行测试以立即查看代码的即时反馈。

4️⃣ 知道去哪里

当运动员知道下一步该往哪里移动时,他们更有可能实现心流。

同样的范式对于编程也至关重要。

频繁停下来思考下一步该做什么会越来越让人分心。

在开始之前,请制定一个详细的攻击计划,说明如何解决问题或实现功能。

确保你的工具能够帮助你无缝高效地完成工作。作为一名 Python 开发者,我非常喜欢VS Code 的 Python 扩展与 iTerm2 的结合使用。

学习那些您一直推迟的键盘快捷键,如果适合您的流程,则采用更多的命令行工具,并减少中断。


💡 提示

  • 将任务分解成小的、清晰的、具体的行动,并创建详细的待办事项清单。
  • 拨入您的工具,这样它们就不会分散您的注意力。

5️⃣ 高感知挑战

你所做的工作需要具有足够的挑战性,以保持你的兴趣和参与度。

如果您技术高超,但任务太简单,您很可能会陷入无聊,甚至更糟的是冷漠。

如果你陷入这种情况,该怎么办?不要把事情搞得太复杂,而是想办法在工作的同时学习新知识。

是否可以尝试一种新的设计模式或应用不同的架构来解决这个问题?你能用你熟悉的编程语言中不熟悉的功能吗?学习一门全新的编程语言来更轻松地实现你的目标是否有意义?

提升枯燥乏味的工作的感知难度可能颇具挑战性。如果你能找到一种方法,让工作更具挑战性,你就能更有可能进入状态。


💡 提示

  • 如果任务太简单,请在工作的同时寻找新的学习方法。

6️⃣ 高感知技能

你已经明白,如果你的技术过于精湛,胜任当前的任务,你很可能会对它感到厌倦。如果你经验不足,你可能会感到焦虑,或者害怕失败。

但如果你确实具备这些技能,却不自知,该怎么办?这就是“冒名顶替综合症”,这是一个影响各个级别开发人员的常见问题。

在科技行业,你可能会觉得总有人比你更优秀、更聪明、更自信、更能言善辩。这会让你觉得自己渺小,像个失败者,或者觉得自己永远无法达到自己的期望。

沉迷于与他人比较的漩涡,必然会导致自我怀疑和自我贬低。试着诚实地评估你的技能,并为你已知的技能感到自豪,不是为未知的技能感到沮丧。

如果你掌握的知识足以完成工作,但却对自己缺乏信心,那么进入状态就会困难得多。你需要相信自己有足够的能力来应对挑战。


💡 提示


7️⃣ 远离干扰

在当今这个充满各种通知争夺我们注意力的世界里,摆脱干扰似乎是一个不可能实现的目标。

不幸的是,当你试图工作时,不断查看手机、社交媒体或其他分散注意力的网站(*咳嗽* reddit、YouTube、黑客新闻 *咳嗽*)会让你更难进入状态。

屏蔽网站、将手机放在其他房间或抽屉里,甚至彻底关机,以避免分心。好在现在有很多很棒的免费工具可以帮到你!

  • 对于网络:浏览器插件可以阻止分散注意力的网站,例如 Chrome 的 StayFocused 和 Firefox 的 Leechhblock。
  • 在移动设备上:有一款适用于 iOS 和 Android 的移动应用程序名为 Forest,可以帮助您训练注意力。
  • 在桌面上:我最喜欢的用于在 Mac 上阻止分散注意力的网站的应用程序是SelfControl App

自控应用程序的屏幕截图


💡 提示

  • 尽量减少干扰,以实现高效的工作。

在区域内编写更好的代码

研究表明,保持专注工作状态有巨大​​的益处。它可以提升你的成就感和整体满足感。它能让平凡的任务变得更有趣,更重要的是——它能让你更有动力去应对挑战。

虽然没有万无一失的方法可以强迫自己进入状态,但上述技巧应该可以帮助您实现那种难以捉摸的流畅状态,以帮助您做到最好。

如果您对流程工作有任何想法,请在下面讨论或通过 Twitter 与我联系@nnja


注:本文的一个版本最初发表于The Pastry Box Project


最后,如果您想了解有关该主题的更多信息,请务必观看 Mihály Csíkszentmihályi 的开创性 TED 演讲。

YouTube:

文章来源:https://dev.to/nnja/easily-write-better-code-with-7-tips-to-get-in-the-zone-21pj
PREV
UI 开发人员的 10 个 CSS 技巧
NEXT
你不需要这些才能成为一名 Web 开发者