周拱一卒(8)

如果要我选一个年度关键字,那么必然是:“问题”

近一年来,看了很多大佬的分享,提到的最多的关键字就是“问题”。

  • 玉伯 《Leadership 的三要素》

  • 尤雨溪 知乎回答

  • 愚道 《我在体验技术部这四年学到了什么》

简单来理解,如果面对事物,你都不能知道问题在哪里,谈何解决问题呢?

当然,“发现问题” 内含了至少两层意思:
1. 字面意义上的“发现问题”
接手一个项目,写着写着发现不对劲,改了 A 功能影响了 B 功能、不同模块的开发者提交的代码也会经常产生冲突…这个“不对劲”意味着字面意义上的“发现问题”。

这俩问题确实相对容易发现,实际上很多人对这类问题麻木后,再次碰到同类问题时的心态:“维护别人的代码本就是那样”、“XXX 项目也是这样的”,也就不再认为这是个问题了,所谓只要我不看它,它就不存在。

或者说,不同人对问题的忍耐度不一样,没达到一定阈值就不会觉得是个问题,在其他人角度看来,就是对实际存在的问题无所察觉。

  1. 定义问题
    一个链路上 A -> B -> C 的 B 节点出了问题,那这个问题的根因是 B 节点本身还是 A、C ?这个分析是基于哪一方考虑的?从其他参与方的角度考虑是否是这个原因?

发现问题并定义清楚问题后,才是解决问题。

就编程而言,如果真正明白问题的根因,业内已经有针对具体的问题提出了非常多的解决方案,大到编程语言的选择、框架的选择、架构的选择,小到某个功能实践问题需要用哪种算法及设计模式,特别认同 winter 大佬这个回答:

PS: 解决问题前还需要:拆解问题、划分优先级(也就是尤雨溪说的判断出什么问题值得(优先)解决)、定目标。这些依然是需要学习实践的

以下两个链接也值得看,其中 《马克思的唯物辩证法如何指到我们的工作和生活》相对浅,而《矛盾论》我依然是读不太懂的。