我以前学习编程的方法是上午在教室或者图书馆看书,晚上回宿舍上机,下午看情况然后决定继续看书或者还是上机。

可能是我潜意识里认为学习应该是通过书本学吧。但其实在现代各种条件下,学习早已变得多种多样。学习的时候可以看纸质书、电子书(包括各种 Word、Xls、PPT、PDF、Chm、txt、html、博客、图片等),看视频,听音频等)。

但是后来感觉这样效率太低了。我感觉编程是属于实践性很强的东西,看完理论后马上实践才会学的更快、更有效。现在我的学习方式是电子书和视频结合起来看,看视频的时候遇到某个知识点不会,立马上网查找相关资料,相关资料包括博客、网站问答等等。

对于暂时没有看懂的代码等可以对着代码敲到电脑上运行试试,实在不行就多敲几遍,敲着敲着就懂了。

当然看书在学习编程的过程也能起不小的作用。不知道什么时候忽然感觉会点编程之后看书效果更好,因为这个时候代码背后执行的一些运行结结果等自己已经见过或者能想到,此时即使不是在电脑面前上机,自己在纸上编程也很具体化。具体比抽象简单。

在不断的解决需求中,不断的学习新的知识,让自己的不仅仅停留在理论阶段,和实际项目共同进步,这是学习新知识的最快方法。

学习方法?因人而异。

问题分析:

  1. 这个技术是什么?
  2. 这个技术什么特点?
  3. 这个技术怎么用?
  4. 这个技术什么时候用?
  5. 这个技术怎么讲?

总结:

  1. 每天知识点的总结。
  2. 每个阶段的总结。
  3. 学习情况的总结。
  4. 错误总结,把敲代码遇到的错误专门进行分析总结。

敲代码:

  1. 第一遍照着视频敲。
  2. 第二编自己敲,不会参考视频或笔记。
  3. 第三编自己敲。
  4. 如果第三编没有敲出来敲第4编。

逛论坛、博客:

  1. 逛it论坛或者博客,里面不要只看某一个知识点
  2. 重要的是对某一个问题的分析和理解
  3. 最重要的是他们的经验建议和遇到的问题

加入一个学习圈子:

  1. 自己学不如一起学,看谁学的快,看谁掉退,看谁坚持不住。
  2. 圈子讨论问题,不会的大家一起讨论,3个臭皮匠顶一个诸葛亮。

例如:day08第8天:总结,作业。

  1. 静态代码块的特点和作用?
  2. 单例设计模式解决的问题,以及设计思想。代码体现,全部都要会!
  3. 懒汉式和饿汉式的区别?
  4. 继承的好处?
  5. java改良多继承的原因?
  6. 当使用一个已存在的继承体系时,该如何更快应用 ?
  7. 什么时候用继承?
  8. super和this的特点?
  9. 覆盖的特点,何时应用,注意事项?
  10. 子类的实例化过程?为什么是这样的实例化过程?
  11. super语句,和this语句为什么不能同时存在,super为什么要定义在第一行?
  12. 对象的堆内存实例化内存图。

代码练习。

画内存图。

学习基本语法,数据类型,规范代码,打好基础,然后熟悉布局、框架、流程、设计模式,找一些无论大小的项目来做,形成自己的作品,并不断总结和创造。

按照自己的想法,想出解决方案,最好绘制成流程图。先列个表,需要什么步骤,然后按步骤在找到元素,给它添加需要的效果,然后按部就班一步步解决。

具体问题直接百度,写多了逻辑就来了。

不要练得太少,想的太多。基础不扎实,其他什么逻辑都是瞎想。

整零思维,先有整体结构,具体拆散分析,就好比起房子,地基不扎实,你外表再好看也是豆腐渣。

复杂逻辑一定要绘图列表,免得实施过程中遗忘了细节,我应该先去找几个简单的实例,搞懂它的基本,然后在深入的套点东西进去,for循环之类的。

相关资料

  1. 【方法论、方法论——程序员的阿喀琉斯之踵】
  2. 【编写程序方法论】