编程路上的重要概念记录

1)第一个对编程思维发生重大认识是 接口。感觉认识了接口,抽象后。才知道程序原来可以这样。

  理解接口后,几种简单的设计模式,不学自会了。接口的意义就是把意图和实现分开,但是广泛意义上,函数名,文件名,表的视图等很多东西都可以理解为接口意义。

2)第二个是递归,理解了递归后,之前很多模糊的理解,立刻清晰。

  理解递归后,汉诺塔问题,数据结构中比较重要的树的遍历,算数表达式,抢30游戏,等类似思维问题,就可以有比较清晰的认识。

3)第三个是程序的内存布局,和接口一样,之前很多的疑惑,立刻消失,有拨云见日的感觉。有了一个从低层次解释一些问题的灯塔。

  了解内存布局后,对于堆栈,指针,非算法类的语句或函数的性能评估,虚函数表,等问题都有直接或间接的帮助

4)第4个是回调吧,

  学习回调。理解回调后。再学习几个回调的变种。最后看了下设计模式。发现23种设计模式,之前没看懂的,现在看一个懂一个。接口和回调是面向对象的基础和重要概念,后悔知道晚了。

5)  第5个是编程追求的2个目标:

   1.就是把变化尽量放远,放后,放到耦合度最低的角落,也就是开闭原则。当看不懂某个设计模式的时候,看下这个目标,当需要决定某个结构该如何构架,参考这个目标。

        2.就是把代码尽量复用,提起,放到最低的可见域,只是某个类复用,那就是类的方法,或者类的静态方法。如果是某个模块都要复用。那就可以是独立类,帮助类。

6)第6个是画uml图和测试用例先行

         画图可以理清处理和并发现问题,解决问题,还可以简化逻辑,并且对后期的扩展和维护起到非常重要作用。文档是第一生产力。

         测试先行,也是可以保证代码写完后逻辑正确,并且也可以保证之后的修改和升级的正确,还可以节省测试时间。也是第一生产力。

posted @ 2016-12-23 19:05  琴鸟  阅读(165)  评论(0编辑  收藏  举报