30d应该怎么学?
下载好电子书,和源码示例,有的人可能二话不说,照着源码抄,更过分的直接copy,这就很不好,因为这没有起到思维锻炼的效果,只是写出来代码,但不知道其中含义是很让人不爽的(至少我这样),于是,有的人一个劲看书,但是到了自己实践的时候,摸不着头脑
以上两种都很不好 ,至少学习的目的没达到
在我看来,一个大项目的编写都是循序渐进的,每进行一步,看到成效,可以激励我们继续写下一步.而有异常反复调试中,我们有意无意积攒了很多相关知识,谁知道那天会用上?
我的学习方式是:一天天的看,看完一天反复消化一下,再考测——看着源码,试着说出每一行的含义,功能…都做到后,便掌握了这一章节的知识点,然后可以开始写自己的os,照着来,但不是copy,所以命名习惯什么的都按照自己的来,熟悉的部分尽量不看答案自己写,错了也没关系,反复debug的过程也很快乐.然后试运行(当然虚拟机),当看到正常显示的时候,成就感是难以言喻的!
书中有的代码为了让初学者看得懂,并不是最佳方案,这时候,我们就需要自己改编,让程序逻辑更优化,或者自己看着更舒服(对大佬说,最有方案看着舒服;对小白说,看着整齐就是舒服).
一直反复这个过程,一个完美(至少自己觉得)的东东诞生,我们也学到了很多很多知识点(话说不是吹,真的多),岂不妙哉?