把工作留得稍微未完成一点,让第二天更容易进入状态

在一天结束时把代码“稍微留得未完成一点”,被描述为一种让第二天更容易重新进入状态的方法;配套做法包括留下失败测试、故意制造编译错误,或用 TODO 注释给未来工作留线索。许多工程师表示,在完成前先停下能让潜意识在夜里继续处理问题,并降低第二天重新开始的阻力;但也有人说,未完成的工作会带来压力、失眠,或与他们对收尾和清晰交接的需求冲突。这场更广泛的讨论显示,生产力技巧高度个人化,并且与对最终目标的热情、工作与生活边界,以及团队对“低影响”但必要任务的期待等因素交织在一起。

核心想法:故意把工作留得稍微未完成

  • 许多人会在下一步已经很明确时就刻意停下(“稍微未完成,但已经完全理解”),这样第二天更容易重新进入状态。
  • 有人把这比作“朝下坡停车”,或是写作技巧中途停笔,这样你就能准确知道接下来该做什么。

报告的收益

  • 减少早晨的阻力:你从一个小而明确的动作开始,而不是面对一片空白。
  • 有助于整夜保持心智模型,并在复杂代码库中快速重建上下文。
  • 在找到根因之后、但在写修复之前结束工作,可以让你“睡一觉再想解决方案”,有时还能发现更细微的问题。
  • 有些人说他们的“夜间大脑”会继续处理问题,到了第二天早上会产生洞见,甚至给出完整解决方案。

代价以及何时会适得其反

  • 不少人表示,任何未完成的任务都会让他们反复琢磨、失眠,或产生不满足感;他们更喜欢彻底收尾。
  • 那些难以“关机”的人(包括可能有 ADHD 的人)表示,未完成的工作会在工作之外占据他们的思绪。
  • 也有人担心对用户的影响:把一个几乎完成的修复留到之后,可能会延迟价值交付,偶尔也会浪费客户时间。
  • 有人认为一天结束时质量可能会下降;也有人相反,表示趁上下文还新鲜时,临近下班写出的代码质量更高。

具体做法

  • 故意让代码无法编译:缺少分隔符、写到一半的语句,或在源代码里留一行通俗说明,让编译器指向你下次要继续的地方。
  • 把一个失败的或无法编译的测试留作下一步动作(对应 TDD 建议:写完失败测试后就停下)。
  • 使用未提交的或“稍后清理”注释 / TODO,清楚描述下一步该做什么以及在哪里做。
  • 有些人更喜欢把一个早晨能在一小时内完成的小任务排队,而不是处理半成品工作。

睡眠、卸载与笔记

  • 许多人建议把脑子“倒空”到笔记、注释或便利贴里,把上下文卸载出去,减轻忘记的焦虑。
  • 对于把事情写下来究竟是有助于潜意识继续处理,还是会导致遗忘,大家意见不一;但大多数人都认为这很有帮助。

更广泛的生产力与工作意义之争

  • 有个分支讨论认为,如果你真的对最终目标充满热情,就不需要生产力技巧;而另一些人反驳说,现实中的大多数工作都包含大量枯燥但必要的任务。
  • 另一个分支批评“对低影响任务说不”,指出回避那些不起眼但关乎可靠性或维护的工作,可能会让人即使在某些组织里对职业发展有利,也仍然是个糟糕的队友。