从事嵌入式开发多年在初级入门阶段也经历过这种阶段,其实编程能力的培养过程有点类似于英语的学习过程,英语的学习经历的阶段就是听书读写,最后的阶段就是去创作去写了,在写之前就要先学会去读,先能够看懂英文的文章然后去读找感觉,其实在练习写代码之前是一样的道理,能看懂代码证明基础的语法已经学的差不多了,这个时候就需要阅读代码来不断的增进理解。
说到如何看懂代码在自己初学编程的时候经历过这样一件事,第一门编程语言选择的C语言,当时可以选择的空间不大因为大学第一门编程相关的语言都是C语言,用了几个月的时间把常见的语法概念都走过几遍源码,中间也刻意复习了几遍,最后得出的结论是C语言语法上不是很多,理论上讲有关C语言的代码都应该能看懂,于是兴致勃勃的从图书馆借了一本linux内核解析的书籍,刚开始看的时候还是能够看明白,结果看不到100页精神上已经接近崩溃了,根本就看不下去了,只是掌握了基本的语法和具体的代码实践相差还是太远,于是又老老实实研究代码去了,学完基本的语法第一件事情就是要能看懂优秀的代码,不断的研究学习实在不懂的可以在网上找相关的资料,当成专题来学习这个阶段承接了从初学到接触项目中过度的一段,用好了能极大提升自己的思维逻辑判断能力,也是学以致用的关键阶段。
编程的学习虽然非常重视实践,但前提是在理解的基础上去理解,只是没有目的的实践效果也不是最好的,实践的时机是理论上东西已经掌握但是不知道如何使用的时候就是到了该实践的时候了,有点理论但是写不出代码来,最好的方式就是模仿代码,先看懂然后尝试去仿照,仿照的过程也是自我培养信心的过程,仿照的很成功了就开始展示自我的创造力的时候了,对程序员来讲开始是模仿语法知识积累几年之后就是编程思维的成熟阶段,考虑的是构建新的模块实现方式,再次升华就是框架层面的学习过程了,编程的学习需要日积月累,绝非一日之功。
能看懂代码但写不出代码如何应对?
仿照写能看懂的代码。第一遍的时候不要直接照抄而是用自己的理解去写代码,实现的代码可能和优秀的代码差距非常大,但不要着急就重新回过头来看代码,这时候对代码的认知层面已经不是只是简单看这么简单的事情。这时候再次自己去实现代码,这个阶段应该是信心的培养阶段,而且写出的代码在思路上已经接近优秀的代码,如果觉得有必要可以继续第三次甚至更多次的反复模仿,这个过程是建立编程思维的重要阶段,心中会有很多个原来如此,如果到了这种境界距离独立写出代码已经不远了,关键还是要坚持到底。
选择稍微简单些案例作为突破口。很多人直接拿着底层的核心代码框架在学习,需要增加的外围点太多了,不容易短时间内突破,学习编程的过程是不断培养自己信心的阶段,全部拿着框架代码在研究很容易让自己失去信心源码,从最简单基础的代码开始去练习,很多时候在编程找不到感觉的时候就去看基本的语法知识或者看基础的代码,这样有助于提升自己的编程内功,自信来源于基础,再复杂的代码也是从基础延伸过来的,基础掌握多了自然就能写复杂的代码了,循序渐进,越是着急越是写不出代码,编程的自信也是自己慢慢培养起来的,谁都不是天生就能写代码,就有信心写出优秀的代码,希望能帮到你。