一些新技术学习心得

实战为主:

  • 看再多的文章不如敲几行代码。

推进度:

  • 学新东西,遇到不懂的不要死磕,直接跳过去。
    • 对应阶段:从0到入门,从啥都不懂到会的过程
  • 不要以原理为借口,长时间进度停滞。

关于原理:

  • 想要理解原理的话,自己写代码造一个类似的东西,简易版demo,就自然而然知道它是怎么回事了
    • 举例,这个链接里面的my系列。
    • 上面提到学新东西不要死磕,这里就是死磕某个东西的时候。
  • 对应阶段:已经会用这个东西了,想要理解的更深入。
  • 有想法时,自己写源码实现功能;无头绪时,抄着别人的源码实现功能

看书:

  • 学习对自己的知识体系而言,新知识时,不要指望通过看网上的帖子,要看书,网上帖子的内容一般只相当于书的第一章的部分内容,还残缺不全。
  • 至少以自己啥都不知道的水准也找不到更深层次的内容。
  • 比较新的技术除外,这些就看官网文档吧,没书。
  • 看书速度:大概10min一页,1小时6页,5小时30页,50小时300页
  • 看技术书:大概这样的思路,代码才是主体,文字只是代码的注释;文字浏览一遍、理不理解无所谓,代码部分跑得通才是关键;至于代码部分,参考下面抄代码。

抄代码:

  • 学一个东西最快的、学习程度最深的方法就是抄代码。注意是手敲,不能复制粘贴
  • 真正写代码时,一周的代码量大概800行左右
  • 照着源码抄时,一天的代码量可达1000行左右,就学习而言,效率很明显
  • 并且,没什么代码是抄3遍以上学不会的,基本上抄一遍跑通就能理清了

两种编程思路,第二种优先:

  1. 充分考虑通用性,再写代码。有下面缺点:
    • 考虑不全
    • 大量的时间浪费在各种纠结
    • 与其长时间啥都写不出来,不如按第二种来,更具体的思路是一步步实现出来的,凭空想不到那么多东西
  2. 对着一个单一的目标快速实现逻辑,通用性是重构出来的。有下面缺点:
    • 可能实现了就没心思重构了
    • 或者已经很复杂的逻辑根本就重构不了

你可能感兴趣的:(学习方法)