查看原文
其他

程序员如何学会提问?



日常生活中,我们总是避免不了提问与被提问。但是相对回答,更好的提问会带来更快的进步。对于前端学习者来说尤其如此。


如何发现问题、提出问题,最终收获解决问题的实践能力至关重要。不会提问,意味着要花费比别人多的时间、摔比别人多的跤、站在比别人还要后的起点才能领会好知识、解决好问题。


图片源于网络,仅作配文展示


爱因斯坦曾经说过:“如果我有一个小时去解开一个性命攸关的困局,我会用其中55分钟的时间去确定应该提什么样的问题。


学会提问其实就是一种解决问题的逆向思维,发现问题的症结在何处,其实就是在寻找解决困境的最佳路径。学会发现问题、提出问题,不仅能够促进知识的累积,还能够提高我们解决问题的能力。从另一方面来看锻炼了我们的思维,毕竟提出一个问题远比解决一个问题要耗费更多的脑力。


所以今天小渡为大家总结了一下怎么能更好地提问,找到问题的症结所在,希望对大家有帮助,一起来看看吧!


01学会提问首先就得发现问题


以下几大思维方法或许有助于大家在学习中发现问题、高效提问。


逆向思维,提出问题


在学习过程中不要想当然,换一种思路,逆向思维。当我们接触到学习内容时,通常都会浏览一遍,然后内心获得一种认可。但是逆向思维就不同了,太阳东升西落在我们眼里是一种理所当然,但在小孩眼里就不同了,他们会多问一个为什么,并且做出另一种假设:如果太阳西起东落会怎么样。而这样的思维往往会让我们更加努力去探求事物的本质。


图片源于网络,仅作配文展示


在前端学习中,多问几个为什么同样适用。某些问题的修复解决办法可能是现成的,基础好的学习者可以尝试去推翻、否定,逆转自己的思维看看如果不采用这种方法会有什么样的结果。这样的一番操作可能会给你带来新的发现。因此,学会逆向思维,提出另外一种截然不同的假设,探究本源,你会发现自己真正困惑迷茫的地方,从而深化对知识的理解。


察觉异常,发现问题


其实,要做到察觉异常还是很不容易的,毕竟我们要是在学习中都能发现异常,那谁都能考试满分了。所以如何发现异常,就是发现问题的关键。这个时候就需要我们的细心和耐心了。在学习中发现和以往认知所不同的地方,提出问题。


图片源于网络,仅作配文展示


要善于对比,发现问题


前端学习中往往会有相似或相异的知识,因此学会对比,更加高效地寻找出问题。在实际写代码的过程中,你可以通过模仿操作,而后对比同一个问题的解决、Bug的修复,看别人是如何操作的,你又是如何进行操作的。这样反复联系、对比,问题也会被一个一个揪出来。同时还可以对比自己不同阶段写的代码,通过观察、发现自己的成长亦或是不足。


联系实际,发现问题


很多东西在书本上的时候,我们可能会觉得自己已经理解掌握了。但是真正应用到实践,问题就出来了。


所以当自己无法发现问题时,尝试将所学的知识应用到实践,问题也就浮出水面了。而前端学习不同于其他,知识是要运用于实际问题的解决中去,这也就给了我们更多发现问题的机会。如果JS基础好的可以试着自己写,如果基础差的,可以参照一些学习视频模仿着写,看着容易操作的时候问题却会很多。


所以多实践,在实践中联系所学知识,对比理论和实践的实际情况,从而发现问题。


尝试改变立场提问


这是一种突破固有立场和思维的方式,如果无法发现问题,那么就选择换一种立场。俗话说不想当将军的士兵不是好士兵,其实不仅关于理想,也关于思维。在日常的学习和工作中,换一种立场思考现状,说不定会有新的发现,问题可能也就随之而来。


对于前端学习者来说、在写代码时进行系统的考虑是非常必要的,也就是多角度、多立场去理解自己的代码。例如这些思考:你的代码和别人的代码在功能上是什么关系、新的代码会不会影响到已经运行的代码、在新的功能下目标用户的行为会不会是你所期望的、你的代码会不会产生商业上的影响……尝试更改立场、多角度思考,问题自然而然就出来了。

 

图片源于网络,仅作配文展示


02为何发现问题却无法提出问题


恐惧心理


担心自己的问题过于简单,怕别人嘲笑,所以不敢提出。小渡曾经听过一句话,年轻的时候,面子和尊严是最无用的东西。虽然看上去像站着说话不腰疼,一碗满满的毒鸡汤。但是,话糙理不糙。真正把知识学到才是对我们最重要的东西。更何况,别人可能真的不在乎你提的什么样的问题。所以,尽管放心提出自己的问题。当然,实在有些心理障碍的话,可以在私下询问自己身边能够解决你问题的朋友、同事。


语言组织能力不够


说白了,就是只可意会不可言传。但是这样的后果就是,问问题的机会消耗了,但是问题却没有得到真正的解决。在这里,关键就是我们的提取问题能力,语言组织的能力。


当我们知道自己问题出在哪儿,却不知如何表达时可以选择以下方式:


一、用搜索引擎、输入与自己问题相关的词句,查看有没有符合自己问题的问答。这样省时省力,还能实际解决问题。


二、组织语句,提取关键。首先找到自己问题的关键字。找到主语,而后问自己想问的到底是HOW、还是WHAT、亦或是WHY,以及HOW TO  Do,这样问题就能够被组织出来了:怎么样?是什么?为什么?怎么做?


发现问题敢于提出问题,优质的提问能够达到事半功倍的功效,既能够解决问题,也能够让回答问题的人有兴趣去回答


图片源于网络,仅作配文展示


03优质提问的特征


日本作家斋藤孝曾将写过一本《如何高效提问》,在书中,作者提出了优质提问的特质。


具体且本质


我们常常会听到这样的问题:如何成为一个优秀的程序员。回答者估计会选择给你扔一块板砖。因为问题太大了,成为一个优秀的程序员涉及众多方面,怕是一本优秀程序员的自我修养也是无法解决的。


所以不如把问题换成具体的,例如成为一名优秀的程序员,打好基础应该看哪些书?把一个大问题细化成小而具体的问题,自己也能够抓住问题得关键,回答者也能够给出行之有效的建议。

 

图片源于网络,仅作配文展示


描述要准确


具体描述问题时,可以描述机器环境(os,机器配置,版本信息);描述自己的排查方向和相关现象;描述问题的触发背景(升级了什么组件/改了什么);提供复现方法。另外描述要客观不要加主观判断。


掌握了优质提问的特征,作者向大家介绍了一些行之有效的具体方法。而小渡为大家挑选出了一个学习中有效而又十分便捷的小习惯。


三色笔方法


简单来说就是准备三支颜色的笔,红、蓝、绿。这是作者推荐的用色,当然大家可以根据自己的习惯和爱好选择。


红色代表重点内容、蓝色代表反对观点、绿色代表自己思考的内容思考过程中将重点内容分别用这三只颜色的笔圈画出来。通过这样一种过程能够形成一个有效的学习循环:学习、思考、对比 、反思、总结,从而发现问题。

 

图片源于网络,仅作配文展示


提问能力是一个人的自我修养,学会提问是我们前端学习中不可避免的一个环节。但学会发现问题、提出问题并不简单。因此我们要对症下药,分析自己是不敢提问还是找不到问题、抑或是找到了问题但是无法提出优质的问题。只有找到自己的问题所在才能够做出实际的改变,达到真正的高效学习。


管理大师皮得·杜拉克说:“过去的领导者可能是一个知道如何解决问题的人,但未来的领导者,必将是一位知道如何提问的人。”所以,学会提问,给自己的未来一个机会,让我们一起加油吧!


--end--


公众号内回复“666”带你进dotNet技术问题咨询交流群


推荐阅读

(点击标题可跳转阅读)


装了这5款谷歌浏览器插件吗?太好用了
一个员工的离职成本,很恐怖!
.NET Core 学习资料精选:入门
东南亚的IT公司,我劝你善良!
程序员的黑砖窑,码农果真在东南亚被打
4 万身价的程序员是什么样的?
在《我的世界》里从零打造一台计算机有多难?复旦本科生大神花费了一年心血
代码神注释鉴赏,喜欢拿去用(可复制粘贴)
推荐↓↓↓

dotNET全栈开发

公众号内回复“666”带你进dotNet技术问题咨询交流群

关注于:MVC、xamarin跨平台移动开发、.NET Core、wcf、web前端、业界趣闻、程序人生、程序员段子等方面资讯。弱水三千只取一瓢,每日一篇一更。 

回复关键字:有教程、架构相送哦。

长按扫描,一键关注。

如有收获,点个在看❤️,诚挚感谢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存