
就像作家一样,我们的开发人员有时可能会成为“作家障碍”的受害者,或者我喜欢称其为“开发商障碍”。 有时我们知道我们要创建的内容,但是空白文件和闪烁的光标令人难以逾越。 发生在我身上的次数比我想承认的要多。
那么,发生这种情况时该怎么办? 好吧,通常我会尝试四处浏览以获取“灵感”,找到其他解决类似问题的人,或者找到其他与之相关的东西。 但实际上,我要做的只是等待街区通过。 非常沮丧。
因此,几个月前,我开始亲自修复此问题。 不知道从哪里开始寻找–讨论一个块来解决一个块(递归eh?)。 在这段时间里,我也有兴趣学习更多有关写作的知识,以及如何在撰写文章,电子邮件等方面变得体面
在研究过程中,我发现了一种很棒的方法:
迅速弄乱。 很多时候,我们担心第一次做正确的事情。 编写最佳算法。 创建理想的数据模型。 正确组织代码。 您知道,看起来像生产力的任务。
实际上,我发现最好的方法,至少对我来说,就是简单地开始解决问题。 这将是混乱,丑陋的,而且很可能是一个草率的解决方案。 但是我现在想要的只是进入工作阶段。
这为我做两件事:
- 它使我前进。 无需担心编写世界一流的代码。
- 它给了我成就感。 这是非常令人满意的。
在这个阶段,我尝试对自己施加一些限制,以便获得关注。 这里的目的是创造一个环境,迫使我输出一些东西。 这是我的一些规则:
- 我让自己犯错误
- 我为自己设定了一个小目标
- 我设置了一个计时器。 理想情况下是5分钟,但这对我们所有人来说都是不同的。
现在,我在编辑器中遇到了一些问题,接下来我将做一个简短的会议(敢称它为一个小的“ Sprint”吗?)。 我避免尽可能清理代码。 凌乱也可以。 专注于手头的任务。 一旦我花了足够的时间来草拟粗略的初稿,现在是时候回去整理其中的某些部分了。 我仅着眼于明显的错误。 认真编辑每个功能。 我可以将实施减少一半吗?
这是一个反复漂洗的过程,使我可以小幅前进。 在几个小时内,我倾向于有一个可以建立的基础。 总有改进的余地。 就像任何作家一样,我用批判的眼光重新阅读了我的代码,这是我开始质疑算法,数据结构决策等的时候。
至少对我来说,我发现有价值的是将“缓慢的时间段”用作清理冲刺。 这是当我知道自己快要结束或精疲力尽或期望被会议,电话或其他人打扰时。 我会将这段时间用于一些低能耗的任务,例如代码可读性,运行linters等。

这是一个正在进行的实验。 我有很多毛病需要解决,也有很多新问题要解决,但我认为这将永远是一个“正在进行的实验”。
当您遇到“开发者障碍”时,您会怎么做?