首先我们要明白一点,我们学习编程到底在学习什么?并不是单纯的只是学某个语言的语法,而是编程思维。只有掌握了正确的编程思维,我们才能真正去应对这个语言所出现的问题。才能把这个语言相关的编程题用代码实现出来,用计算机编程思维去思考问题,而不是在学习死知识。
什么是编程思维?
思考问题的方式,方向,解决问题的方法,也就是说应该从哪里入手,从哪里着手去解决问题。
每个人都是从零基础开始接触编程的,很多技术大牛总结了很多经验、解决问题的方式。而现在作为一个编程初学者,我们不需要重新造轮子。我们只需要跟随前辈们脚步,避免重复去走他们已经走过的弯路,也可以说我们现在做的一切都是站在巨人的肩膀来进行的。学习前辈们的经验和解决问题的方式,然后结合自身来解决自己的问题,最终融会贯通为自己所用。
编程思维是培养出来的
建议大家,解决问题的时候,首先要把问题分解。大化小,很多小问题已经有了非常成熟的解决方案,搜索引擎可以解决大部分问题,我们直接拿来用就可以了,并且记住这种解决问题的方案。而剩下解决不了的小问题,我们在进行针对性解决,每一个小问题解决后,一整块大问题就随之解决。
编程思维的训练就是要学习成熟的解决问题的方法:比如if
语句用来做分支判断,循环用来解决反复运算的问题。穷举法、递推、递归、排序、回溯等等(如果需要当专业程序员,需要学习数据结构和算法,设计模式等等,需要学的东西很多很多。但首先要解决的一个问题是自己能写代码解决一般问题。)
训练函数抽象,类抽象解决问题。如对有序数组,查找特定数值,没有经过训练,初学者,直接用循环遍历。如果经过二分法算法的训练,下次碰到这样的问题,就用二分法求解。
做习题,要像开发项目的流程一样
(需求->需求分析->设计->编码->测试->交付等)
拿到一个习题,还没有进行分析,就马上敲代码,这个学习方式,是不好的学习方式。
首先分析题目
再设计,用哪种数据类型(数据结构)来组织或保存数据,用何种算法来计算效率最高,用面向过程,还是面向对象的编程范式,还是用函数式编程等等。设计后,再编写代码,最后写测试。
如何才能逐渐养成良好的编程思维思路
只有先经过训练常见的算法,分解问题,会做需求分析,慢慢训练,才会养成自己的思路。没有人一出生会编程,只有经过训练,才会学会编程。很多牛逼程序员用vim,敲的啪啪响,一会儿一屏幕代码,为啥那么熟练使用vim,习惯成自然。当你训练多了以后,学会一定的套路(解决问题的方法),养成独立思考的习惯,假以时日,自然就有思路了。
养成独立思考的习惯,养成切分问题,养成大问题化解小问题,养成套用学过的算法,才会有思路。简单的判断、循环都不会写,就想玩django,何来的思路?
万丈高楼从地起,希望大家脚踏实地实地的从基础训练起,先达到独立写代码解决一般的问题,再谈项目。
没有学会独立写代码解决一般的问题的能力,开发项目时如狗咬刺猬无从下手。