当您遇到一个难以解决的编程问题时,您会怎么做,而您还不知道? 通常,你最后如何解决它?
备注: 有人可以介绍解决问题的方法吗?
答案 0 :(得分:19)
如果可以的话,我会暂时搁置一段时间。当我最不期望的时候,解决方案通常会突然出现在我脑海中。 (如果我们总是有等待的奢侈 - 通常我们不会。)
编辑:另一个非常有用的事情是向其他人描述问题。即使他们无法帮助,向不熟悉问题的人解释它的行为也常常会澄清你的想法。有时你会直接找到解决方案,而不会让对方说一句话。 8 - )
答案 1 :(得分:4)
我只是想一下铅笔和纸。
对我而言,诀窍是将其分解为可管理的位。
- 编辑
我必须同意以上关于与别人交谈的海报。即使你没有任何人可以与之交谈,也可以将它解释为一个蓬松的玩具,答案往往会变得很明显。
答案 2 :(得分:3)
我发现使用白板向其他人解释问题非常有用。
答案 3 :(得分:1)
有时我会搜索Stack Overflow以查看是否有人遇到过相同或类似的问题;如果他们没有,我有时会发一个问题。
答案 4 :(得分:0)
“Peopleware”这本书以一种很好的方式表达了它,尽管它是一个不同的背景,但也适用于此。
他们写道,经理的职能是 不是让人们工作而是为了成功 人们可以工作。
在这种情况下,您是自己的经理,所以由您决定是否可以自己工作。如果你遇到困难,那么你需要倾听自己......为了开始解决它你需要什么。
对我来说,可能是项目中的一个主要类别名称错误且不够优雅。为了以优雅的方式解决问题,需要首先解决这些问题,否则它将最终成为半生不熟的解决方案。
10美分
答案 5 :(得分:0)
对于许多问题,编写单元测试可能有所帮助。分解(如丝般暗示)并尝试为各种作品编写测试。然后编写代码以使测试通过。查看有关TDD的一些文献。
编写一次性“尖峰”代码也是找出新事物的便捷方式。
答案 6 :(得分:0)
嗯,这取决于问题的类型,是否是你可以研究的东西。对于你不能做的事情,通常是特定的设计问题,我有问题同时记住所有因素,我发现有两种方法可以很好地运作: