转载自github https://github.com/mcguffen/blog/issues/22
不会提问就很难通过问问题解决问题,失败的提问无论对于你还是对于看问题的人来说是严重的身心伤害。
方法很简单,就是按如下五点原则来提问(注意,这五点原则不仅适用于技术问题,也适用于其他问题):
描述你需要完成的需求以及目的(目的就是为什么要做这个需求)
描述你的想法或思路
描述具体的实现过程
描述遇到的问题,包括正确信息,报错信息或得到的不正确的信息
有条件则贴出具体实现代码
为什么要按这5点提问?为什么要描述你需要完成的需求以及目的?你的做法可能是错误的,
描述需求可以帮助他人发现你南辕北辙的解决方案。你的需求可能是错的,给出目的可以帮助他人发现你错误的需求。
为什么要描述你的想法或思路描述思路有助于他人搞懂你在做的事情、搞懂你遇到的问题
你解决问题的想法和思路可能是错的,描述清楚有助于发现错误为什么要描述具体的实现过程描述实现过程有助于帮助他人理解你的具体问题
为什么要描述遇到的问题,包括正确信息,报错信息或得到的不正确的信息对具体信息的描述可以帮助他人分析具体问题,所以要给出错误的具体、完整的信息,而不是残缺的截图或者零散的几句描述
为什么要贴出具体实现代码?如果不尽量给出完整、简化、可运行、可重现问题的代码,他人很难定位具体问题,也就无从解决问题了