Ap Blog

Cold code, warm soul.

@Aploium1年前

04/10
16:50
其他

如何明智地向程序员提问

简短版:

我现在遇到一个问题X
我想到可能的原因是a, b, c
我排除了以下可能性d, e, f
我尝试过以下方案g, h, i
请问还有什么是我遗漏的
 

首先你需要明白

  • 程序员们只偏爱艰巨的任务,或者能激发他们思维的好问题
  • 对方没有义务忍耐你的无知和懒惰
  • 周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答案

提问之前

  • 用中英文进行Google, 翻前两页的结果. 如果没有找到, 更换可能的关键词多次尝试
  • 在FAQ/文档里找答案

发问的形式

  • 使用含义丰富,描述准确的标题
  • 精确描述,信息量大, 但是不啰嗦
    • 尽可能详细而明确的描述症状
    • 提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)
    • 说明你在提问前是怎样去研究和理解这个问题的
    • 说明你在提问前采取了什么步骤去解决它
    • 在自己的尝试中, 排除了哪些可能的原因
    • 罗列最近做过什么可能有影响的硬件、软件变更
    • 尽量想象一个程序员会怎样反问你,在提问的时候预先给他答案
  • 每一个关键步骤截图, 如果有错误信息, 也需要截图. 如果可能的话再发一份文字版的错误信息
  • 给出自己出问题的代码, 截图和文字版都要. 因为某些聊天软件中文字代码难以阅读
    • 必须是对方复制后就能立即运行, 并且复现问题的最简代码.  删去与问题无关的部分
  • 别问应该自己解决的问题
  • 避免无意义的疑问

问题解决后

  • 简短说明自己是如何解决的, 后续尝试的过程
  • 如果别人对你有帮助, 感谢一下对方

附加

参考

电脑出现故障,如何正确地提问 https://vjudge1.github.io/2015/07/01/how-to-ask.html
你会问问题吗 http://coolshell.cn/articles/3713.html
《提问的艺术:如何快速获得答案》(精读版) http://bbs.csdn.net/topics/390307835

本文的图片版

(方便在聊天工具里甩给对方):
如何明智地向程序员提问 提问的智慧

如何明智地向程序员提问

如何明智地向程序员提问

来一发吐槽叭O(∩_∩)O    仅首次吐槽时需要审核