问题不可能被穷举,答案经验有时候并不足以让我们应付千奇百怪的问题。在题海中,培养自己分析,定位,解决问题的能力似乎才是我们唯一的出路(以不变应万变)。
一般问题解决步骤:
遇到问题
(不要慌)- 这个问题没见过,咋搞呀
- 我正好有个技术群,丢个报错截图去问问
- ...
分析问题
(抽丝剥茧)- 多问自己为什么,从问题报错处,排除干扰,向上
debugger
- 小黄鸭调试法 - 小黄鸭调试法,又称橡皮鸭调试法、黄鸭除虫法(Rubber Duck Debugging)是可在软件工程中使用的一种调试代码的方法。方法就是在程序的调试或测试过程中,操作人耐心地向小黄鸭解释每一行程序的作用,以此来激发灵感与发现矛盾
- 多问自己为什么,从问题报错处,排除干扰,向上
描述问题
(提取关键词)关键词搜索
(中,英文)解决问题
(总结经验)反思总结
- 沉淀是为了让自己能够举一反三分享经验
- 表达是为了进一步加深理解
如果以上步骤无法解决问题,向别人请教之前,以下几点是必须要做的:
看官方文档
(重要的事情说三遍)开源库或框架遇到问题,逛社区
(别偷懒) - issues,discussions,stack overflow 必看问题仍无法解决,则需剥离业务逻辑,提供最小复现用例
(节约彼此时间)- 别人未遇到过的问题,并不能靠空想解答,即使可以,也不建议进行这样的试探
如果以上步骤都做了,仍然无法解决问题,则可以在项目 issues
或 stack overflow
等问题社区发起提问:
问题描述
- 简洁清楚的表达问题,切记啰嗦环境信息
- 问题发生的环境(系统信息,软件版本,浏览器版本等)如何复现
- 提供问题复现步骤 1,2,3,可以配合适当的错误截图及说明复现用例
- 用例要排除业务干扰,缩小问题范围我的尝试
- 自己做过哪些尝试,也可以让别人快速排除一些干扰项
预期结果
- 希望得到什么样的结果
lencx 的博客 - 这里有阅读打卡,资源整理,开发工具,思考总结等等。