编程技能提升心得

这两天在看内存管理相关的内容,算是技术学习方法的革新,以前学技术只是看博客,并没有输出多少博客或者代码,这样其实看完就忘了,没有多少进步。
记得看过轮子哥的文章,程序员类似于工匠,技能提升需要孰能生巧
其实内存管理,去年也有花一周学习过,实践总结的太少,过后就忘却了;现在再去学习时,已经有意识地写代码,去实践了。

1. 技能学习大概得几步:
  1. 掌握这个知识点怎么用,能够手写代码,了解使用场景
  2. 理解这个点原理是什么,能够有条理的说出底层原理
  3. 跟其他知识点有啥联系,能够统筹全局,遇到某场景选择合适的技术
    目前基本能到第二步,既能够查出这个点怎么用,为啥这么用。
2. 选择重点内容学习:

基础知识必须得掌握,iOS其实就那么几个

  • 内存管理,最最基础
  • runtime
  • runloop与多线程
  • 网络
  • UI部分渲染原理、事件传递与响应链条

3. 编程与情绪

个人觉得程序员pk的不是智商,大家智商相差无几,更重要的是情绪。
其实每天8+小时坐在工位,基本处于一人世界与世隔绝的状态,再加上从事着写代码这种结果最不稳定的工作,情绪很容易波动,会非常影响接下来的状态。
我总结了一些保持情绪稳定的方式,也可以理解成转移注意力的方式:

  1. 最好是能出去走走,透透气,如果能找到一个合适的小伙伴沟通发泄一下,就再好不过了
  2. 听首喜欢的歌,听有趣的音频节目(小品等)也不错
  3. 喝点水 咖啡或者果汁都不错,生活过得有味道一些
  4. 看会儿书偶尔也有用,小说类
  5. 写写文章、博客之类的,写其实是输出的过程,总是输入bug、知识点之类,输出点东西也可以切换大脑
  6. 还可以爬楼梯、做俯卧撑,加速血液循环也很好
  7. 什么也不做,发发呆也可以,总是很紧张,分秒必争的状态,很容易搞得头疼,来点儿放松的
  8. 朋友圈、微博、知乎等也还行,但是很容易被攻陷,看入迷就出不来了

4.解决问题

今天跟阿里工作的一学长解决问题的过程,也有一些新的感悟

  • 编程提升主要的不是一大堆技术点累积,而是去培养解决问题的思路,无论写代码还是调bug,首先要做的就是理清思路,能把思路讲清楚了,代码并不难写
  • 理清思路得过程其实就是按步骤分解问题,将问题分解为一个个点,单点去突破,这样就不至于太复杂,更容易理清楚
  • 分解问题其实就是抽象过程,将具体场景抽象为单个技术点,这样就抓住问题的本质
    代码写得越简单越清晰越好,这个其实不容易
    一一
    对于算法,不要想那么高大上,其实写一辈子代码可能也用不上多少高级算法,把常见算法掌握好就行了

4月8号补充

5.技术与交流

技术也要多交流,如果能找到志趣相投的伙伴一起打磨技术,是一件非常幸运的事情
能够将一个技术点表达清楚,是逻辑思维能力强的体现

你可能感兴趣的:(编程技能提升心得)