身为一个程序员,高效学习是最核心的能力之一,会问问题,让学习事半功倍。那么,你真的会问问题吗?




1、不喜欢提问


有些人压根就不喜欢,也不会去提问,总是一个人默默地在闷头研究。不能完全说这种方式不好,但是效率极低,除非去做创造性的研究,无人可问。而大多数人不喜欢提问的根本原因在于,害怕别人知道自己不知道,自尊心过不去。闷头研究可能浪费大量的时间,而别人也许三言两语或几行代码,就能让你茅塞顿开。所以向懂的人提个问题,寻求帮助,即使会遭到嘲笑或者批评,但是大大提高了自己解决问题的效率,也是非常值得的。




2、逮到就问


遇到了任何问题,只要自己不会,立马冲到别人面前就问。不仅会被嘲笑,还会被喷。比如:

1、这个问题为什么在他电脑是好的,在我这边就不行?

2、我的程序怎么不打印日志?

3、为什么我这段代码会报错?


谁知道你在电脑上配置了什么,缺了什么,导致结果不正确;

你知道打印日志有哪些配置,哪些地方可以控制日志的输出吗;

谁知道你代码干嘛的。


问的这些问题都是没有经过思考、不去查资料尝试解决,让人啼笑皆非,只有被鄙视和拉黑的份。要知道你的时间宝贵,别人的时间也同样宝贵。别人没有义务去帮你解决问题,何况是这种无从回答的问题。




3、好的问题能让双方都有收获


经过思考、查找相关资料、不断尝试问题点,缩小锁定问题的精准范围,苦思冥想之后还没想明白。这时候向别人提出问题的背景、问题点、自己的尝试方法和疑惑。也许别人已经遇到了类似问题,可能一语道破玄机;也许别人也没仔细想过这个问题,被你这么一问,能很快进入思考的节奏,最后一起实践解决。




4、优先自己尝试解决


1、查看项目中的说明文档和涉及技术的官方文档。

2、跳出问题细节,从整体上捋一下思路,想想问题可能出在哪里。

3、借助搜索引擎,准确向搜索引擎提出问题。

4、查找项目中类似功能,借鉴别人是如何完成的,问题可能就出在差异点。




5、找一个合适的提问对象


找一个水平比自己高,同时预判他熟悉那方面知识,大概率能解决问题的人提问。你找一个资深 DBA 去问一个代码细节问题,基本上是徒劳无功,浪费时间。




6、问题的清楚阐述也很重要


1、尽可能一句话概括问题,提炼出问题的核心点。

2、问题的背景、机器环境、场景、尝试方法、阻碍点也要能简介、清楚表达,方便问题复现。

3、最好能保留日志、截图和 Dump 信息。

4、表述前自己心里先过一遍。




7、记录分享和索引已解决问题


问题得到解决,要把问题的机器环境、复现方法、产生原因和解决方案记录下来,做到不二过。同时把这个记录通过博客或者文档的方式分享出去,当别人通过你的记录解决了同样的问题,你们都将得到莫大的快乐。最后可以把问题索引起来,方便时间久远仍然能快速查到问题和解决方法。



一定一定要对别人的帮助表达谢意!


更多相关文章

  1. 如何合理的设计代码分层,论代码分层的设计之道
  2. 数字签名的原理是什么?这篇文章给你答案(java代码实现)
  3. java远程调用之RMI(终于可以自己写代码控制别人电脑了)
  4. JeecgBoot低代码快速开发框架,用于生产环境必须改造的9个关键点
  5. 常用数据结构的 JavaScript 实现代码[每日前端夜话0xED]
  6. 一段神奇的监视 DOM 的代码[每日前端夜话0xE4]
  7. SpringBoot结合MyBatis Plus 自动生成代码
  8. 无限重置idea试用期过期时间插件 简单方便 亲测可用

随机推荐

  1. JS判断手机操作系统(ios或android)并跳转到
  2. Android ORM框架GreenDao用法
  3. Android(安卓)databinding 双向绑定(Demo)
  4. 让android应用程序获得system权限
  5. android 中 涉及到context的时候this和th
  6. eclipse for android安装过程
  7. Android Socket开发 注意事项
  8. Android 相关属性
  9. Android 代码自动提示功能
  10. Android整机源码如何轻松下载?清华大学And