寻求帮助
遇到问题的时候应该怎么办¶
简单版:
- 尝试阅读并理解错误信息,不要因为全是英文就觉得一定看不懂
- 用错误信息上网搜索解决方法,并且进行尝试
- 查询错误所涉及的函数的相关文档,和样例代码进行比对
- 用调试器,单步查看每一步变量的变化
- 如果实在自己解决不了,在找别人求助之前,先用电脑截图关键部分和错误信息;如果代码多的话,把关键的代码放到 pastebin 服务上生成一个链接
- 如果可以的话,尽量缩减代码,得到一个 MWE(最小错误样例),这样可以方便他人复现问题
- 向别人阐述你的问题,谈你都做了哪些尝试,并且把代码和错误信息截图(或者链接)发给对方
完整版:见 《提问的智慧》,也可阅读一生一芯项目书写的《如何科学地提问》。
寻求帮助的途径¶
如果在学习过程中遇到了困难,想要寻求帮助,你可以:
- 使用搜索引擎,查询相关文档
- 在 GitLab 仓库 新建 Issue
- 在课程微信群中提问
- 通过邮件或者网络学堂的课程答疑功能向助教和老师提问
- 在答疑时间线下询问助教
提问模板¶
当你在通过各种渠道提问的时候,应当按照下面的格式来填写提问内容:
上下文:
我在完成 AAA 的时候,遇到了 BBB 问题。
问题描述:
我在执行 CCC 命令的时候,遇到的报错:
DDDDDD 的核心报错信息,不要贴完整日志
再贴一个完整日志的链接:pastebin.com/xxx
相关代码:
贴出报错附近的代码,或者提供一个可以复现问题的最小代码
复现流程:
1. 运行 EEEE
2. 编辑 FFFF
3. 出现报错
做过的尝试:
1. 修改 GGGG
2. 删除 HHHH
如果内容比较多,建议发 GitLab/GitHub Issue。
求助的礼仪¶
寻求帮助时,也要遵守一定的礼仪:
- 除非对方乐意,不要以“大佬求助”作为开头,这会让那些谦虚的人不愿意回复你,因为好像回复你就等于承认了自己是大佬。
- 不建议在求助的时候就说谢谢,而是等到对方给予了你帮助以后再感谢对方。不然会显得自己的感谢很廉价,也有一些道德绑架的元素在里面:我都感谢你了,你咋还不帮我?
- 寻求帮助后,如果自己解决了问题,不要忘记反馈给对方。因为对方其实也会关注你后续是否真的解决了问题:是采用了对方提供的解决方案,或者是采用了新的解决方案。用已有的解决方案解决了问题,或者用新的解决方案解决了问题,告诉对方,就是答谢对方给自己提供的帮助。
- 不要忘记邮件礼仪。
避免 X-Y 问题¶
提问时需要避免 X-Y 问题:即你实际遇到了 X 问题,你认为 X 问题要用 Y 方法解决,在实现 Y 方法时遇到困难,然后向他人提问如何实现 Y 方法。但很多时候 Y 方法并不是 X 问题的正确解法,此时可能会得到错误的答案。引用 X-Y Problem 的一个例子:
- X 问题:想要截取文件名的后缀名
- Y 方法:截取文件名的后三位字符
- 此时的 Y 方法并不是解决 X 问题的正确方法,因为后缀名不一定是三个字符
- 正确的 X 问题的解法是找到最后一个
.
,然后提取它之后的字符 - 如果提问的时候只提及了 Y 方法,而没有 X 问题,就会出现这样的问题
因此在提问时,为了避免 X-Y 问题,建议按照下面的模板来描述完整的问题:
- 我正在做 X 问题
- 我认为为了解决 X 问题,可以用 Y 方法
- 实现 Y 方法的时候,遇到了 Z 问题,尝试用 A 方法解决,但是没有效果
而不是:
- 我正在做 Y 方法,遇到了 Z 问题,求救 T_T
最后更新:
2023年11月20日
作者: