查看: 698|回复: 0

[Java学习] 优秀的开发者如何提问?

发表于 2018-2-2 08:00:02

在Geely大佬的课程里回答问题也有一段时间了,回答问题的过程中发现不少同学都在问一些基础性、重复性的问题,提问的思路也不是很清晰,感觉很有必要给大家介绍介绍好的提问方式,毕竟大家来参与Geely的课程是为了快速提升自己的技术水平以期获得一个好的工作岗位。而能否提出好的问题就是对于自身能力水平的一个重要检验。经过一番思考后再提出的问题往往更能加深你对于知识点的理解,几番深入的交流会让你的技术水平有一个更加快速的提升。

好了,既然好的提问方式能够带来这么多的好处,那么咱们就来具体谈谈怎样提出一个好的问题以及如何在提问中获得更大的成长。

一、首先跟大家说说提问要遵循的几个原则

1.提问之前先屡清楚基本概念,就拿Geely的课程为例经常会有同学会问诸如:

老师为什么我命令行输入git init命令之后跟你的返回结果不一样?

我的Linux系统里面怎么没有developer这个文件呢?

这一类的问题,其实以我的看法来说都不能称其为合格的问题。一个同学会提出这样的问题,说明他对于Git和Linux的基本概念是不清楚的,熟悉Git和Linux基本操作的同学肯定会知道git init是git初始化的意思,而mkdir是Linux当中新建文件夹的意思。如果他知道这些内容的话相信他肯定不会问出这样的问题。其实此时他应该做的是马上上网找个基础教程或者去图书馆借两本书把基本概念熟悉清楚。

其实我觉得大家更应该把Geely老师的课程当做一个学习索引,老师将基本的思路、框架以及开发环境详尽地告诉了你,我们可以以之为前提逐步深入相关技术点,不断精进,而不是只是在那些很基础的初级概念当中做低维度的徘徊。

2.产生的疑问先在问答区里面搜索一下,说不定已经有同学提到过类似内容了(目前问答区已经累计到将近3000个问题),以最近这三个星期的情况来看平均每10个问题里面就有至少2-3个问题老师前期已经做过解答或者在手记里面给大家做过总结

就比如下面这些关于Git的问题,里面很明显有很多的重复


3.善用百度、Google等搜索引擎,你要相信在你学习的初期阶段你所产生的问题基本上都是普遍性的,你的疑问同样也是他人的疑问,相信你问题当中的七八成网上都已经有了丰富的答案。如果能够将你平时查到的资料整理成博客分享给广大的developers那是更好,博客当中如果还有你自己的理解、思考、疑问以及解决方案那就更加是大大滴好了。

4.相信经过前面这几个步骤的过滤你的问题已经缩减了一半左右了,如果这时你仍然有疑问的话,那么提问的时候请记得要详尽的描述你的问题,比如你使用的开发环境、程序运行过程当中产生的错误信息(可以贴上你的截图)、定位好你觉得可能产生错误的位置(贴上产生错误的源码)并把你的猜测和思考过程都写上来,你的这些信息都有助于我们帮助你排查问题。

提问时的推荐句式
我运行在xx系统上,使用的xx版本的软件,我遇到了个xx问题,按照我以前的经验,直接xx就可以了,这次居然不行;我猜想可能是xx原因,于是尝试了下,发现,还是不对……我去网上搜了一下,有提到xxx东西,有影响,但并没有达到预期的结果,此问题已经困扰我很久了,希望能在你这里找到出路……

之所以要让你这么郑重其事是因为很可能在你排查、思考、寻找的过程中你的问题很可能就直接迎刃而解了,嗯,整个世界突然又变得那么美好了。
(~ ̄ ̄)~

5.保持耐心和积极的心态。很多时候我们的回答也只是一种参考,毕竟每个人的设备、网络环境都是千差万别,我们不可能完全模拟出你的实时环境。正确的态度应该是在老师和同学们的帮助下逐步排查问题,并不是说你提完问题之后就可以当一个甩手掌柜了。提问题也不应该单单只是为了解决问题本身,更重要的是要学会解决问题的思维方式、了解问题产生背后的逻辑、问题之下隐藏的各种知识点,这些才是你更应该关注的要点。

像下面这位同学提的问题明显就是经过了一番思考,也得到了老师的认可。大家都要向着这个方向前进。
优秀问题

6.最好不要使用QQ等即时通讯软件来提问题,很多同学认为通过QQ的实时通讯来提问是一种高效的方式,其实说个老实话,用QQ来提问才是低效的方式。首先即时通讯软件的这种短句式的交流方式很难清楚地描述问题,而且这种提问方式实时性太强,你的提问很快就会被其他人的聊天信息所覆盖(你总不能指望群里的人都会关注你的问题吧),再者就是这种即时通讯的交流方式很难将话题深入,闲聊总归是肤浅和无趣的,通过这种聊天的方式你很难郑重其事的表述好你的问题。而整理问题的过程也是你的理清思路的过程。

7.注意排版,好的排版能够让大家更高效的帮助你排查问题,至少要将源代码以及报错信息装进源代码格式框里面,不然看起来真的很崩溃啊。
找个同学贴的错误信息你们感受一下



下面这个是装进代码框里面的,看起来是不是要好一些?

好了,关于如何以正确的姿势提问我想说的就这么多了。各位加油吧!

二、课程相关资料推荐

1.Linux 基础 - 常用命令篇

2.Git入门级教程及常用命令汇总

3.《Java从零打造企业级电商实战-服务端》思维导图&知识点索引

4.找工作的季节之简历及找工作的分享

5.happymmall课程Q群分享手记

6.Java企业级电商项目-FAQ

7.大型项目架构演进过程及思考的点

8.【重点】课程用到的环境配置、下载的FAQ

参考文章
如何提问才能进阶成为前端大神?
提问的智慧



回复

使用道具 举报