Skip to content

Latest commit

 

History

History
28 lines (22 loc) · 1.59 KB

how-to-ask-a-question.md

File metadata and controls

28 lines (22 loc) · 1.59 KB

提问的智慧

站在对方的角度思考问题

在提问时,请不要:

  • 假设对方对你的问题十分清楚
  • 没头没脑地自顾自地说一通,想当然地认为对方明白自己提出的问题的背景
  • 让对方花费很多时间去了解、重现你的问题
  • 发一大堆截图、代码,因为对方搭建环境跑起来你的这一堆代码可能就要花费半个小时的时间,没有人有耐心这样帮你的
  • 用语焉不详的文字,如“不行”、“不好使”、“不能用”、“打不开”,而是直接指明,报错是什么,日志是什么,stacktrace是什么

在提问时,请尽量:

  • 先搜索、阅读文档
  • 提供尽可能多的信息
    • 包括环境、问题的背景等
    • 你预期的结果,现在的结果如何与你的预期不符
    • 一个好的提问的标志是,对方无需追问任何信息,即可给出解决方案
    • 如果对方需要反复追问才能从你口中得到关键信息,那么提问就是失败的,绝大多数答题者没有这样的耐心,这不利于解决问题
  • 如果可能,提供一份完整的可以重现的代码
    • GitHub优先,在README中给出详细的重现步骤
      • 对方可以直接在代码的某一行进行评论
      • 对方可以直接发起Pull request告诉你应当如何修改
    • 避免对方需要繁琐的设置才能重现你的问题
      • 如需要数据库、缓存,并且需要在数据库里预先导入一定的数据
      • 如果无法避免,请尽量让这样的工作通过一个脚本进行,如:“运行mvn doSomething完成初始化工作”