谈谈程序员如何高效解决问题

【谈谈程序员如何高效解决问题】本来想写写常用框架,外加这些常用框架的简单用法的。结果发现好久不用自己也不熟悉了。就不拿出来误人子弟了。而且就我个人而言,用过的Android开发库还是少了点。主要是公司业务不复杂,自己也没有把注意力放在这方面。
还是引用Android开发常用框架汇总这篇文章。框架和工具库这东西按需学习吧,真等到用的时候再学也不迟。关键是知道什么需求用什么库来解决。
我觉得程序员最重要的能力不是掌握了多少知识,而是自学能力、新技术适应能力和解决问题能力。
现在技术知识点纷繁复杂又快速更新,想要精通每一个知识点是不现实的,能够快速通过需求检索到所需的知识点和工具,解决手头的问题才是我们必须具备的能力。
一些提升技术学习效率的想法 说到这里,我想到《跃迁》这本书上讲到的一些东西很适合当今程序员。
关于知识检索,我们应该遵守识别知识源头原则。多去 github 上看项目源码或者官方文档去查阅资料,或者关注一些高质量、负责任的博主写的技术博客,尽量获取一手、二手信息。少用百度多谷歌,避免在重复而劣质的博客中寻找答案。这样才能快速有效的获取解决方案。
关于技术栈,书上建议我们建立自己的知识体系,用问题取代信息。信息是无穷尽的,想要通过各种信息建立知识网络是低效而不实际的。就像我,一开始学习Vue源码想通过通读全部代码来学习,结果却是花了很长时间却没看懂多少,收集到的信息也混乱不堪。后来,我改为通过一个个问题去探其究竟,发现博客内容好写了,代码也变得容易理解了。我觉得我们建立的知识体系应该是各种问题,如:

  • 我如何规范团队代码: eslint
  • 我如何理解HTTP通信: 某大牛的一篇博客……
  • 我如何解决某个问题: StackOverflow链接……
如此发散自己的问题树,并找到解决问题的答案或者工具。然后在需要的时候去深入学习和使用这些问题的答案。我觉得是更加高效的一件事情。相比而言,如果要每个知识点都是用信息去填充,比如我要填充以上几个问题的知识点,按照我的习惯 —— 写成博客的才是自己牢牢掌握的,那么我就要写三篇博客来完成学习。所花的时间上是差了很多的,但真到实际工作使用的时候解决问题的时间是差不多的。
关于技术拓展,书上推荐了一种叫做联机学习的方式。这一点暂时没实践过。它是指自己精通某一门技术,然后与几个其他技术方面的专家一起讨论来解决问题,大家互为对方知识库,通过联接各方面技术专家来快速解决自己能力圈之外的问题。
以上内容只是关于解决问题效率上的一些想法,如果想要快速有效的提升自己解决技术问题的能力,可以参考下~当然,也并不是说写博客不好,写博客是一种以教代学的方式,能够更快让我们掌握我们所要表达的知识点。一个是高效解决问题、一个是深入学习知识点。两者并不冲突。

    推荐阅读