Debugging 当面对一个看似无法解决的情况时,有时间限制怎么办?

Debugging 当面对一个看似无法解决的情况时,有时间限制怎么办?,debugging,coding-style,Debugging,Coding Style,我是一名计算机科学专业的学生,我通常有非常艰难的编程任务。我不知道这是否只发生在我身上,但有时,特别是在最后期限临近的时候,我发现自己处于一种严峻的境地 我无法在代码中找到我的错误,也无法想出另一个好主意。然后无聊感来了,问题开始变得无法解决 我想了解他们应对这种情况的想法。暂时专注于其他事情是否更好?还是再试一次?或者越来越努力地在网上寻找解决方案,等等?这里已经提出了类似的问题 不过,睡眠是我个人的最爱,尽管如果你像大多数大学生一样,你可能在最后一分钟做了很多编码,你没有足够的时间睡觉,也没

我是一名计算机科学专业的学生,我通常有非常艰难的编程任务。我不知道这是否只发生在我身上,但有时,特别是在最后期限临近的时候,我发现自己处于一种严峻的境地

我无法在代码中找到我的错误,也无法想出另一个好主意。然后无聊感来了,问题开始变得无法解决


我想了解他们应对这种情况的想法。暂时专注于其他事情是否更好?还是再试一次?或者越来越努力地在网上寻找解决方案,等等?

这里已经提出了类似的问题


不过,睡眠是我个人的最爱,尽管如果你像大多数大学生一样,你可能在最后一分钟做了很多编码,你没有足够的时间睡觉,也没有足够的时间按时提交你的作品[我也为此感到内疚]

睡眠是好的,如果不睡觉,至少休息一下,在新鲜空气中散步等

与同事/同学一起集思广益解决问题会有所帮助。即使只是向其他人解释这个问题也足以让解决方案在你的脑海中闪现


如果以上都失败,请询问Stackoverflow:-)

我总是喜欢与其他程序员讨论解决方案。只是说话让我使用大脑的另一个部分,大部分时间我听到自己通过一个解决方案说话

试着把问题分解成更小、更容易的问题,然后解决它们。不要试图一次解决所有问题,避免试图通过黑客攻击来解决问题


如果你仍然被困住,休息一下会很好。有时候,当你用一双焕然一新的眼睛看问题时,答案会突然变得显而易见。问题的解决方案常常在我睡觉的时候出现,我会醒来知道答案。

当我陷入问题时,我喜欢做什么,我通常会试图找出我的问题。我只是给自己拿一张纸,把遇到的问题写下来。在做这件事的时候,我喜欢制作类图/序列图,只是为了澄清中的情况。回到旧的skool笔和纸上,一段时间内不看屏幕真的很有帮助。

对我来说,我遇到过几次,我花了相当多的时间(10到30分钟)以书面形式定义问题,比如提交问题,并且在打印问题时得到了最终解决方案的想法

我发现,当我以其他人可以理解的方式记录您的问题,而不必理解整个应用程序/项目的不相关部分时,我会有意识地将问题分解为独立的部分,以帮助我或其他开发人员分析和决定下一步的行动

就我的两分钱:)

在你的情况下(学校作业),我可能会找老师/教授或助教。虽然他们肯定不会“给”你答案,但至少在这个过程中你可能会学到其他东西

具体地说,我会向学生解释你遇到的困难,你为解决这个问题做了些什么,以及其他任何事情,以证明你做了工作

很多时候,当你独自走在这条路上时,你可能会想出解决办法。他们可能也会给你提示或建议

最糟糕的情况是,他们告诉你走开,让他们一个人呆着。

其他人发布了睡眠(@sjobe,&Vicky)和询问某人是否好(@Christopher Altman)。顺便说一句,这通常被称为“橡皮鸭”

我个人的问题是想看透一些事情,并且在完成任务的过程中消耗精力,几乎总是让我自己却步。这些年来,我学到的是,如果一个小小的研究没有帮助(<30分钟),并且讨论它也不能解释它,而且你不能或不想睡在它上面,那就为精神、身体和精神做点什么:出去

说真的,骑30-45分钟的自行车,跑步,散步,游泳,等等。试着想想别的。给自己讲一个故事,或者在必要的情况下在头脑中解决另一个问题。冷静下来再回来。你会惊讶于自己会感到多么精神饱满。内啡肽会有帮助

如果你开始职业生涯,驾驶办公桌,这也是一个很好的习惯


-干杯作为一名学生,我也时常面临这个问题。经常帮助我的是远离电脑,拿一支铅笔和一些纸,开始用手写下代码。我不知道为什么,但对我来说,在纸上解决它通常比使用IDE/编辑器更容易。可能是因为那时你的大脑工作方式不同。

在这种情况下生存或征服的整个艺术就是坚持采用面向解决方案的方法。我的意思是保持积极的态度,即使解决方案不起作用,也要相信你的努力正在让你离它更近

是的,我非常同意休息是实现目标不可或缺的一步,但是休息一下,带着更强的精神回来解决问题

让自己参与到不同的解决方案发现策略中,并以同样的精神去享受

解决方案发现策略可能包括:

  • 与不了解问题的朋友交谈,并帮助他们理解问题。它将帮助您了解场景的来龙去脉。有时,向他人解释有助于我们更好地理解问题

  • 拿着纸和笔坐下来,或者写一本日记,在日记中记下你想到的所有想法。随时带上你的日记,因为它有助于记下想法,否则我们会忘记。有时游戏是关于连接点的。一个想法从早上的前半部分和晚上的时间可以完美地混合解决问题

  • 参加头脑风暴会议