画星星高手

It nerver rains but it pours.

程序设计语言应该如何由浅入深进行学习?

前言

这是我发在知乎的一个回答,写了挺多字的,搬运到博客来。

我自己理解的由浅入深:语法->算法->思想。

第一阶段、基本语法,各种基本概念需要理解。

到了这里你写程序应该没什么问题了,但是开发不了完整软件应用?这时需要学习各种平台的API,做web开发,要学一下数据库吧,了解http协议的两个常用请求方法吧;做PC端开发的,看一下框架的文档,先不用直接学系统API,很多东西框架给你封装好了(比如DotNetFx Qt这些);做移动开发的,做微信小程序的,都有不同的API,这些了解了才能真正开发应用软件。

第二阶段、进入算法和数据结构的学习。

这里可能有的人会觉得比较枯燥,但是真的很有用,多做笔记(最好用电脑、手机做笔记,写博客是一种不错的方法)。只需要了解基本的几种数据结构和几种算法就行了,集合、线性结构、树结构、图结构。能够生成和遍历二叉树,图的能掌握一下广度和深度优先遍历也算是这个阶段过关了。

到这里开发小程序软件应该问题不大了,想做什么都可以,边学边做。

但是一旦代码规模稍微大一点,就会陷入混乱,甚至一段时间后整个项目瘫痪了。

这就需要所谓的思想了。

第三阶段、思想。

思想就是编程思想,编程最重要的东西是什么?不是代码,不是你熟悉语法,掌握API,而是思想,程序语言的本质是抽象,把具体问题抽象化以更好解决问题。

不念书了…说人话

我觉得首先是编码规范,变量、方法、类这些的命名要规范,代码关键地方加注释,养成良好的习惯能提高开发效率,降低未来维护项目的成本。(不可能代码写完了就不管吧,以后还是会有各种bug需要修复或者是要添加各种新功能)

然后就是设计模式,设计模式的内容很多,三言两语说不清楚,通过各种封装代码的方法使你的代码更加抽象,更容易扩展和维护,这一点在代码规模扩大的时候感触很深,对我这种小白而言就是采用各类设计模式之后,代码的逻辑更清晰了,以前理不清的思绪,一下子理清了。代码规模和质量也因此提上去了。

设计模式的话可以看书也可以看视频,原理不难,看了之后需要在开发钟做实践,用过几次就能记下来了,不过真正掌握还是要多多实践。

然后,重复以上过程。

当然是在之前基础的深入,语法、算法、思想各个方面进一步深入学习,语法每个语言都够深入研究很长时间。算法,之前了解了几种基础的数据结构和算法,现在之前的基础上深入学习,关于树的,之前学习了生成和遍历,之后可以了解一下树结构的应用,例如用于压缩算法的哈夫曼树,用于查找算法的平衡二叉树,改进的红黑树等等…可以学的内容太多了。

总之,就是多思考,多写代码,保持对编程的兴趣和热爱。


原文,知乎回答:程序设计语言应该如何由浅入深进行学习?

点赞

发表评论