2009-08-31 40 views
0

当你遇到一个真的很难解决的编程问题时,你会怎么做?你还没有想法? 通常情况下,你最后怎么解决它?当您遇到棘手的问题时,您会做什么?

注意: 有人可以介绍一些关于解决问题的做法吗?

+0

相关问题: http://stackoverflow.com/questions/711431/what-are-your-best-practices-for-bugs-that-are-hard-to-solve/ – sleske 2009-09-01 00:05:06

+0

通过怎样的方式你能找到这个相关的问题吗?我试图搜索现在,但没有找到 – MemoryLeak 2009-09-01 00:06:53

回答

4

我只是想一遍当铅笔和纸。

  • 分解成各个部分
  • 看什么部位,我知道
  • 研究部分我不
  • 把它放在一起
  • 利润

对我来说,诀窍是把它分解成可管理的位。

- 编辑

我必须和上面大约交谈了别人,还有海报同意。即使你没有任何人可以与之交谈,也可以将它解释为蓬松的玩具,答案通常会变得明显。

+0

+1为'利润',但你忘了'????' – 2009-09-01 01:09:41

+2

我的前任老板一直说他要为自己做一个生命纸板剪影,让人们向他们解释他们的问题。 8-) – RichieHindle 2009-09-01 07:43:08

19

如果可以的话,我会放一会儿吧。当我至少期待它的时候,解决方案常常会涌入我的脑海。 (如果我们总是等待 - 我们通常不会这么做)

编辑:另一个非常有用的事情是向其他人描述问题。即使他们不能帮助,向不熟悉问题的人解释它的行为通常会在你脑海中澄清事情。有时候你会直接找到解决方法,而没有其他人说一句话。 8-)

+6

堆栈溢出可以很好地填补这个角色。很多时候我没有提出问题,因为我在制定和编写问题时有了一个新想法。 :) – deceze 2009-09-01 00:06:27

+0

旧的描述问题的技巧,这对我来说很多次。我的理论是,你想抵挡所有明显的原因,并且这样做的过程会让你走上正确解决方案的道路。 – russau 2009-09-01 00:10:55

+0

哇,你提交这个问题之前你真的意识到了吗?我通常意识到10分钟后的答案是什么......实际上,实在太迟了。 – 2009-09-20 18:10:04

3

我发现使用白板向其他人解释问题非常有用。

1

有时我会搜索堆栈溢出来查看是否有人遇到相同或类似的问题;如果他们没有,我有时会发表一个关于它的问题。

0

Peopleware把它放在一个很好的方式,尽管是一个不同的上下文也适用于这里。

经理的作用,他们写,是不是 使人们的工作,但使它 可能为人们的工作。

在这种情况下,你是你自己的经理,所以它取决于你自己的工作。如果你遇到困难,那么你需要倾听自己的意见。你需要什么才能开始解决问题。

对我来说,这可能是项目中的一个主要班级名称错误而且不雅。为了以优雅的方式解决这个问题,需要首先解决这个问题,否则它将作为一个半解决方案结束。

10美分

0

对于许多问题,编写单元测试可以提供帮助。分解它(如丝般的建议),并尝试为各个部分编写测试。然后编写代码使测试通过。查阅一些关于TDD的文献。

写一次性“秒杀”代码也是一个方便的方法来找出新的东西。

0

那么,这取决于问题的类型,它是否可以研究。对于你不能做到的事情,我经常遇到一些特殊的设计问题,我一直在想所有的因素,但我发现有两种方法可以很好地工作:

  • 摆脱所有可能的干扰(计算机,电话,人),例如找一个空的会议室。拿笔和纸,画出问题所涉因素的自由形式图;有时桌子也很好。我发现,集中精力而不分心的能力和图形表示通常使我能够找到解决方案。
  • 对于真正困难的问题,睡在它上面。也许这只是我,但有时在我入睡之前想到处于半昏迷状态的东西时,我有时会想出最好的想法 - 奇怪的是,我总是记得他们在早上来。
相关问题