如何正确且高效地提问?
会提问是一项重要能力。问得好,能快速得到帮助。问得差,别人都不想理你。
什么是糟糕的提问
"大佬,我的代码报错了,怎么办?"
这种问题没人能回答。什么报错?什么代码?你得说清楚啊。
"Java怎么学?"
问题太大了。你是想问学什么、怎么学、看什么资料?都不清楚。
"帮我看看这个代码为什么不行?"
然后发一个几百行代码的截图过来。谁有空帮你看啊。
正确的提问方式
1. 说清楚你遇到了什么问题
具体的报错信息是什么?在什么情况下出现的?
2. 说清楚你做了什么
你写了什么代码?做了什么操作?
3. 说清楚你已经尝试了什么
你百度过了吗?试过哪些方法?
4. 贴相关代码,不要截图
代码用文字贴出来,不要截图。截图别人没法复制,也看不清楚。
只贴相关的代码,不要把整个文件都贴过来。
一个好的提问示例
糟糕的问法:
我的Spring Boot启动报错了,怎么办?
好的问法:
我用Spring Boot 2.7.0写了一个项目,启动时报错:
Error creating bean with name 'userService': Unsatisfied dependency...我的UserService代码是这样的:
@Service public class UserService { @Autowired private UserMapper userMapper; }我已经试过:
- 检查了UserMapper有没有加@Mapper注解
- 百度了这个报错,说是注入失败,但不知道具体原因
请问可能是什么问题?
看到区别了吗?第二种问法,别人一看就知道怎么帮你。
提问前先做这几件事
1. 先搜索
你的问题90%别人都遇到过。先搜索,可能一下就找到答案了。
2. 看报错信息
报错信息会告诉你哪里出了问题。仔细看,别一看到报错就慌。
3. 自己先排查
简单排查一下:是不是拼写错误?是不是少了什么配置?
4. 最小化问题
把问题简化到最小。几百行代码不容易找问题,几行代码就容易多了。
去哪提问
搜索引擎:先搜索
Stack Overflow:英文问答社区,问题质量高
技术社区:掘金、V2EX、知乎
技术群:QQ群、微信群,但群里的回答质量参差不齐
GitHub Issues:如果是某个开源项目的问题
最后
提问能力是需要练习的。
刚开始可能问得不好,没关系,多练几次就好了。
记住一点:你为别人节省时间,别人才愿意帮你。
