如何向别人请教技术性问题?---来自7个月的观察总结

声明:博主目前高中,仅仅是通过大概7个月的时间(接触tensorflow),在github,csdn,各种qq群上发现的案例,此案例并不能概况全部的情况!

我极其讨厌”知乎“的提问方式,这间接的导致了一些人喜欢开门见山的一句话概括问题,然后叫别人解答,然后以为就会有人用比他写的话多几十倍的文字来回复他。

我观察发现,大部分向我提问的learner不知道如何提问,上来就是一条错误代码,然后说“这个怎么解决,求解答”这类的话。

我们先来看一下一些例子

如何向别人请教技术性问题?---来自7个月的观察总结_第1张图片
视频检测程序是什么?虽然这是个关于object detection API的讨论群,但是视频检测程序有很多种,而且输出是指打印在图片上的框框还是在命令行里的输出??
如何向别人请教技术性问题?---来自7个月的观察总结_第2张图片
不言而喻,太多的不确定性了,除了你,没人知道你在说什么!

如何向别人请教技术性问题?---来自7个月的观察总结_第3张图片
这是哪一步??

类似的例子还有很多很多
那么,我们如何才能正确地向他人提问呢?

让我们先看看几个在stackoverflow上优秀的提问。

https://stackoverflow.com/questions/47068709/your-cpu-supports-instructions-that-this-tensorflow-binary-was-not-compiled-to-u

这是个新手。可以看出,他在运行一个tf的测试程序,他意识到从pip上下载的tf在运行时会出现“你的CPU支持AVX2指令集,但tf程序没有把AVX2指令集编译进去”的问题。
在他的discription里写了自己的一点探索,并写清楚了自己用的tf版本号和系统。
如何向别人请教技术性问题?---来自7个月的观察总结_第4张图片
然而,我也收到过同样的问题。。

如何向别人请教技术性问题?---来自7个月的观察总结_第5张图片

如果你同时收到了这两个问题,排除语言的原因,你更喜欢回答哪个问题更认真、详细呢?

Anyway,不管你在任何平台向他人提问,请尽量考虑以下几条注意事项(欢迎补充和质疑):

1、如果你是按照人家的教程操作,但出了问题,请检查自己之前所做的一切,
包括但不限于,各个依赖软件的版本号,操作环境是否一致等。
2、在网络上查找这个问题。建议使用Google作为搜索错误的搜索引擎,且尽可能使用英文。如果条件受限,建议使用bing国际版,或直接在stackoverflow或GitHub上搜索。
3、分析源码,检查一些程序中逻辑的关联。
4、查看官方文档。

当你在任何平台向他人提问时,请尽量考虑以下几条注意事项(欢迎补充和质疑):

1、指明你在做什么,遇到了什么问题。
不要只写问题,而不说自己在做什么!

2、描述你的环境,包括(如果可用)但不限于 操作系统、编译器版本、硬件型号和其他可能影响的内容等。

3、描述原程序是从何处下载的,以及它的版本号(如果可用)

4、你自己的研究过程,指出你用了什么方法来处理这个问题(我不反对伸手党,但是讨厌自己什么都没努力直接伸手的人),
例如“我xxx的github的issue里查过这个错误,但他的方法对我没用,他的方法的网页是xxxxxx"

5、如果在即时通讯软件中提问,请避免使用”在吗?”这类的文字(除非被提问者要求),因为这样的话效率极低,请直接称述你的问题。

----------未完待续-----------

你可能感兴趣的:(网络)