我正在通过iTunes U CS193p课程自学iOS开发,并且经常发现自己陷入困境。我一直在努力摆脱自己的困扰,但可能要花我几个小时才能弄清楚我在做什么错,是因为缺少一种方法还是没有真正得到像委托这样的整体概念。
我担心自己可能会浪费太多时间,最好在卡住后立即进入Stack Overflow,这样我才能继续前进。
以您的经验,对堆栈溢出的快速询问是否会阻碍学习过程或改善学习过程?
我正在通过iTunes U CS193p课程自学iOS开发,并且经常发现自己陷入困境。我一直在努力摆脱自己的困扰,但可能要花我几个小时才能弄清楚我在做什么错,是因为缺少一种方法还是没有真正得到像委托这样的整体概念。
我担心自己可能会浪费太多时间,最好在卡住后立即进入Stack Overflow,这样我才能继续前进。
以您的经验,对堆栈溢出的快速询问是否会阻碍学习过程或改善学习过程?
Answers:
当我与新开发人员一起工作时,我鼓励他们在五到十分钟后仍未取得进展的地方问问题。
这有两个好处:第一个好处是他们可以得到帮助,而不必花费太多时间盯着问题,但是他们只问何时不去解决问题。如果他们正在学习-甚至在最终不是答案的事情上-他们更有可能有效地保留这些信息。
第二个问题是,在花费了很多时间之后,他们不得不向其他人解释问题。这解决了很大一部分问题,因为从头到尾依次进行处理意味着您可以发现您在早期工作中遗漏的事物。
由于听起来好像您是一个人在做,所以请尝试转向毛绒玩具,时钟或墙壁,然后再问问题。像对一个人一样解释它,看看是否可以解决问题。
如果没有,并且您没有取得进展,请询问某人。花超过五到十分钟的时间浪费时间-除非您继续做其他事情,然后以崭新的心态回到问题上来。
我对其他人的绝妙答案是唯一的补充:
在StackOverflow问题界面中键入问题是确保您全面考虑问题的好方法。我无法开始告诉您在清楚地进行布局以正确提出问题的过程中我为自己回答了多少个问题。我已经开始但尚未提交的问题远远超过了我实际提出的问题。
因此,我想说问(当然是在搜索后),只是不喜欢实际点击“提交”。
Stack Overflow和所有其他Stack Exchange站点都有一组提出问题的准则:
- 做你的作业
- 请明确点
- 使其与他人相关
- 成为话题
- 保持开放的心态
“做功课”意味着您不要太快问。“具体”意味着您对问题的领域足够了解,可以简要地概述问题。如果不是,则“做功课”适用。“保持开放的态度”意味着您应该准备好探索从未想到与问题相关的解决方案。
因此,这不是关于Stack Overflow的问题,而是您的问题是否很好。本质上,所需的努力本身就是学习经验。如果做对了,仅搜索重复项就可能会学到一些新东西。如果没有,请ping我,我有几张反对票。:P
就个人而言,当我开始编程时,我花费了大量时间来尝试解决问题。我可能会花费数小时来尝试修复某些问题。我不认为这些时间不是很有效,在这些时间里,我学会了如何在线查找东西,并且我真的对编程语言的工作方式有了深刻的了解。因此,我认为对SO的询问过快会剥夺您的学习经验。进入编程只需要很长时间。
接下来是一个问题,要问多久才能提出,我会说在一个特定问题上花费几个小时并不长(请注意,我来自学术背景,也许在商业背景下这是不太被接受的)。
当您确实提出关于SO的问题时,请花时间在该问题上:
这些只是几点。通过花时间在您尊重SO上的人的问题上,您可以免费使用他们的时间。更重要的是,您可以构造问题。这可能已经解决了您的问题:)。
只是我的2克拉...
我相信这里重要的是要真正了解您所坚持的内容并尝试解决原理性问题。在真正了解真正的问题之后,使用Stack Overflow是我要做的第一件事。
但是,这不是在问一个问题。
它正在搜索所有出色的答案。可能是您现在遇到的问题已经被其他人遇到,他们已经问过您的问题。如果您不得不使用Stack Overflow,请记住,当您陷入困境时,这不仅仅是一个向您提出问题的网站。它也是一些有关计算机编程的非常好的信息的存储库。使用搜索功能。
如果您使用几个不同的术语/关键字搜索后仍然不满意,并且已经完成了功课并拥有代码示例,则可以炫耀一下,并且您可以确定自己的问题不是重复的,请务必提出以下要求:您对堆栈溢出的问题。那就是我最近检查过的那个网站。
这完全是主观的,但这是我使用的基本规则。
1)我的房子着火了吗?显然,这不是字面上的问题,而是一个不仅需要立即解决,而且需要紧急解决的问题。如果是这样,请对其进行破解,迅速失败,并获得最佳帮助。
2)这是我可以研究的东西吗?如果这是我有时间的地方,并且可以研究,那么我会走那条路,并将SO作为免费资源。SO非常棒,Wiki也是如此,其他数十种资源也是如此。
大量阅读,可以帮助您理解何时有不同的方法来解决问题,但是请首先花时间尝试看看是否可以将您现有的知识重新应用到该问题上,然后再为自己构建一个新的心理工具。
3)这是否超出我的技能范围/太晦涩难懂,以至于可能有100个人看过?这种情况经常发生。我通常会尝试研究一两个小时,然后前往此处或其他资源。
我知道坐下来做研究并花费时间是更高尚的做法,但是通常我们会受到时间的限制,即使您感觉像在“欺骗”系统,您也会使用所有可用的资源。