您如何应对编程疲劳?[关闭]


48

不是像“我需要睡觉”那样的疲劳,而是像“我再也无法烦扰”那样的疲劳,通常在遇到任何正在开展的项目中遇到障碍时,通常会出现这种情况,通常越接近截止日期。

它可以在工作项目中,也可以在个人项目中,但这是我最近越来越关注的问题。我会有一个主意,着手研究,有一些非常好的日子并取得进展,然后有些琐碎的事情会让我绊倒,我无法按您想要的方式工作,我遇到了限制在框架中,我遇到了找不到文档的问题,等等,这太令人沮丧了。

还是我一个人呢?


4
即使遇到障碍,您的进度也可以衡量吗?如果不是,请考虑使其可测量。稳步前进的前景是我所知道的最好的持续发展。

7
这让我想起了Mort(Terry Pratchett),这是Mort在马s里清理粪便的地方。“让我们看看,他想,我已经完成了将近四分之一,我们可以称其为三分之一,所以当我在高架上完成那个弯道时,它将超过一半,称之为八分之八,这意味着还有三分之二。独轮车的负载……除了证明宇宙令人敬畏的光辉是一系列小块之外,它的处理要容易得多。
Steve314 2011年

@ Steve314:+1 Pratchett岩石。
2011年


@rwong:我的大多数项目都是个人项目(或非常小的团队)。不过,这听起来确实是一个有趣的想法。
sevenseacat 2011年

Answers:


42

拖延

您所描述的可能是拖延症。这是一个非常普遍的现象。点击链接,阅读关于时间动机理论的文章

为了克服拖延症,我列出了。当我感到拖延时,我打开列表并强迫我处理第一个项目。几分钟后,我进入了心理学家MihályCsíkszentmihályi所描述的区域流程

您应该在此图像中识别出您:

替代文字


2
+1强迫自己。我发现我也是如此。刚开始是最难的部分。
Michael K

2
随着岁月的流逝,您是否找不到所有项目都沿垂直轴下降的趋势。水平方向也容易移动。
2011年

我今天拖延了一整天,而不是编码我的开源项目。该死
gruszczy

1
+1可解决此问题。
Conor)

2
我发现,如果列表顶部仅包含不愉快的任务,那么强迫自己去做几乎是不可能的……
Roman Starkov 2011年

10

对我有用的是摆脱构成障碍的问题。这可能意味着其他人建议在代码库的另一部分上工作。这可能意味着要跑步。我发现,碰壁障只会增强障碍。将焦点转移到无关的东西上将使您的潜意识解决问题。通过在淋浴等时找到解决方案,我感到很惊讶。


4
淋浴绝对是修复错误的好地方。
2011年

这只是加强障碍的真正好处。我认为这是我需要做的,将项目分解为不同的部分,以便当我的大脑已经足够一个,切换到另一个,使用大脑的不同部分时。
sevenseacat 2011年

8

程序员的驱动力必须大于Green Lantern的驱动力。当事情不起作用时,我们只有一点痒,我们试图更深入地挖掘并找出原因,无论是通过提问还是读书。

您可以采取的预防疲劳的措施是稍微远离问题,并着手完成您所分配任务的另一方面。

对我来说,使我像小孩子一样放松的编程任务正在使用GUI。这很简单,让我闭上了大脑。它还给我的大脑安慰剂,使我完成某件事。


因此,基本上,您可以沉浸在项目中,但是忙于工作吗?是的,这是最糟糕的感觉-当您将所有时间都投入到某件事上时,仍然觉得自己什么都没做。
sevenseacat 2011年

3
@Karpie您仍在完成某些工作。做一些“忙碌的工作”可以让您继续做一些需要做的事情,但这并不需要您的大脑在所有气缸上射击。

我不知道-GUI工作似乎总是对我有利。使它正常工作并可以使用很有趣且充满挑战,但是对我来说很难使其看起来很好。
Michael K

当我像这样离开一段时间时,大约50%的时间我再也不会回来...:/
Roman Starkov 2011年

6

几乎所有时间我都倾向于跌入这一领域。

开始一个项目很容易,一切都是新的,要研究和发现的东西,要建造的原型,都非常有趣。但是随着挑战的淡化,我的兴趣减弱了。获取软件版本的生产版本,消除由于必须使用的某些平台的晦涩问题而导致的可笑的小错误。

这足以使您感到无聊。

我从来没有发现过分的帮助,我只是工作或玩完全不同的事情(stackoverflow对此很有用),直到我对其他事情感到无聊并开始感到内。然后,完成一些无聊的工作。生产率降低到大约20%,但这就是沉闷编码的负担。

有一个解决方案,即团队编程,当其他解决方案直接参与时,很难停下来。


1
+1,团队建设很棒。不幸的是,很难使其他人对您自己的个人项目感兴趣。
dan_waterworth 2011年

@dan_waterworth:是的,尽管自从我为自己编写程序以来已经有很多年了。60-80小时的工作周,很少有多年的假期,反而消除了这种欲望。
2011年

2
+1表示诚实:“ ...直到我对其他事物感到无聊并开始感到内......生产力下降到大约20%...”
Kavka 2011年

您可以在团队编程中提供更多细节吗?
Esqarrouth'7

6

配对编程

我发现在这种情况下,配对编程确实很有帮助。找到一个与您相处融洽的人并解决问题,没有什么比其他意见或共鸣更好地克服障碍了。一旦您开始再次取得进步,热情就会逐渐消失。

不幸的是,这在我们公司中是不满意的,因此,只有当我真正感觉到影响生产率的问题时,我才会这样做。


+1,因为这是我在回答中唯一建议的内容,尽管它称为团队编程,因为两个以上是好的。;-)
Orbling 2011年

3

学习一门新的语言。没有什么比学习一种新的语言激发您的兴趣更重要的了。我建议哈斯克尔。


1
+1对于新语言,+ 1对于Haskell。但是,投票数学似乎很重要1 + 1 = 1
2011年

1
@Orbling,是因为1 | 1 = 1
dan_waterworth 2011年

我认为1 & 1 = 1这更接近我的意图。;-)
Orbling 2011年

1
@Orbling,乙状结肠功能P(vote) = S((1 + 1)/t)在哪里S(x)?(您可以选择系统的温度)。
dan_waterworth 2011年

这就是我在最新项目中尝试过的方法,即尝试学习Ruby和Rails!那是关于文档还不完整的部分,嘿……
sevenseacat 2011年

2

我开始在其他地区打一个小时左右。我在工作中使用Eclipse,Eclipse允许您// TODO:在代码中放入,然后将它们全部整理到一个窗口中。如果我在进行其他工作时看到要更改或修复的内容,请放入TODO,这样我就不会失去动力。如果卡住时间太长(超过一两个小时),我将开始处理列表。它提供了风景的变化,并且大多数情况下变化非常简单,这有助于我放松身心。通常答案会突然出现,同时仍然让我感到自己正在完成某件事。

注意:我喜欢重构,并且越来越喜欢编写一些代码。你的旅费可能会改变。


1
+1这是我一直在做的事情,对确保代码的流畅运行特别有帮助。当然,如果遵循通常的编码原则,那么预先准备好完整的伪代码是一个好主意,然后慢慢将其逐步发展为实际代码。
2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.