给新同学的提问指南

在学习新知识的过程中,我们时常会遇见自己难以解决的问题

面对这种情况,闭门造车无疑会极大地拖慢我们的学习进程

比较常见的做法是通过各大网络平台搜索相关问题,或把数据手册和问题截图一股脑丢给AI

还有一种做法是询问学长学姐,我们欢迎新同学的提问,但我们更欢迎“有效率”的提问

如何正确地,有效率地提问?


一 “把天聊死”的几种方式

第一种:谜语人

1
2
3
4
"那个东西怎么搞?"
"哪个东西?"
"就是那个啊"
"......"

你嘴里的”那个”,学长真的不知道。他昨天帮你看了代码,今天你说”那个”,可能是代码,也可能是你新买的电烙铁,还可能是你室友的情感问题。

具体的问题描述才能让别人更好地帮你。

第二种:手机拍屏幕

请选择你的拍屏导师

代码拍成照片发过来,反光、模糊、还带手影。

清晰的图片是解决问题的基础。Windows系统默认截图快捷键为Win + Shift + S,QQ默认截图快捷键为Ctrl + Alt + A。
手机摄像头拍摄屏幕,不但看不清,还传达了一个信息:你没太把这个问题当回事。 别人自然也不太想当回事。

第三种:”就是不对”

1
2
3
"我按教程做了,但是不对"
"哪里不对?报错是什么?"
"不知道,反正就是不行"

“不对”不是一种错误描述,于事无补。
报错信息看不懂没关系,复制、粘贴、百度/谷歌/询问AI
其实做完这三点,80% 的问题可自行解决。

二 问之前建议做的事

搜索问题

疑难杂症的出现概率是微乎其微的
我们的在学习中遇见的问题,几乎90%都早已被别人研究出了不同的解决方法
将报错信息原封不动复制到搜索引擎里,前几条基本就是答案。

翻阅文档

芯片手册、函数说明、报错里附带的链接,点击即可查看详情
大多数芯片和教程的手册都很详细,这也导致你需要消耗很多时间用来在手册中寻找内容
可以把手册网址丢给AI,并询问与之相关的问题,AI会给出较为靠谱的答案,如果没用再去询问他人

稳定复现

如果你的问题是”有时候行有时候不行”,最好先搞清楚在什么样的情况下不行
能稳定复现的问题才有被解决的可能

三 一个好问题长什么样

好的问题其实就是把事情说清楚

我在做什么 → 我想实现什么 → 现在发生了什么 → 我自己试过什么

对比一下:

1
"我的车跑不起来,怎么办?"
1
2
3
4
" 我在移植新的边线提取代码。
现在出弯的时候中线全丢,串口打印出来全是 0。
补过光,也调过阈值,直道正常弯道还是丢。
环境是 RT1064 + 总钻风,室内灯光。"

提供的信息越全,别人帮你的成本越低

四 XY混淆

一个很经典的XY-Problem:

1
2
3
4
A:怎么把字符串转成数字?
B:为什么要转?
A:我想从串口读速度值
B:直接 sscanf 即可

问题是 “从串口读数据”(X)
但提问的内容确是 “字符串转数字”(Y)。

提问者想要解决 原问题 X ,且觉得解决了 引申问题 Y 就能解决 X 问题
提问者对外提出了解决 Y 的的请求
回答者帮助提问者解决 Y 问题。(浪费了回答者和提问者双方的时间)

五 几个小细节

  • 别发”在吗” 提问不需要像通信协议一样握手,直接提出问题有助于节省时间
  • 一次问完整 不要等待追问再说明问题
  • 如果最后自己搞定了,可以回复一下解决方法——你的答案会帮到下一个遇到问题的人

六、最后说两句

“判断一个人,要看他提出的问题,而不是给出的答案。”——伏尔泰

带着思考来的问题,哪怕很基础,大家也很乐意聊——因为讲解的过程,对方也在整理自己的思路。

什么都不想就来伸手,得到的只会是沉默。

所以,下次想问”在吗”的时候,先问问自己:我准备好了吗?


参考阅读:Stop-Ask-Questions-The-Stupid-Ways