阅读程序,学习程序开发的关键环节
2006-03-18 21:56
417 查看
高明的程序员善于通过阅读程序来发现有价值的东西,并不断地提高自已的水平。
我们很多的学习都是从阅读开始,学一门语言,学一门技术,一般都会先选择好的老帅或好的教材,去听,去阅读,然后慢慢地理解并掌握,阅读在我们的学习与生活可以说无处不在,阅读是我们学习知识增长见识扩大视野的关键环节。
在大四之时,我开始感觉到课本知识的局限性,特别是在我领悟到自已不得不干技术这行当时,我就更加迫不急待地去学习很多的编程技术,我开始不断地阅读各种各样的编程书籍,也开始被一行又一行的代码所吸引,每当理解到一段代码的作用时,心里就特别的愉悦与富有成就感,当我用DELPHI写出第一个象样的程序时,激动与兴奋了好几天,同学们都在兴高采烈地描绘着毕业后到某某政府机关或金融机构大显身手的宏伟蓝图,我是羡慕的,也是无奈的,我不得不零时抱佛脚,疯狂地阅读,努力学好一门技术,为的是能找到工作混口饭吃,先生存再谈发展。
温伯格大师在《程序开发心理学》里认为程序开发也是写作的一种形式,它与其它的写作形式没有什么两样。众所周知,作家能写出好书,大都博览群书,可以说阅读是提高写作水平的一条重要途径,同样的,程序员学习程序开发,阅读程序对水平的提高也有很大的促进作用,程序员通过阅读程序,可以发现与总结出有价值的东西,比如一段代码之所以如此编写,是由各种因素决定的,有的是因为计算机的局限,有的是因为程序语言的局限,有的是因为程序员本身的水平,而有的则可能是因为标准规范的约束,通过仔细地阅读程序,你会发现并理解到这些因素,并从中受益匪浅。
那么,我们应如何来阅读程序呢?
温伯格不愧为大师级的人物,不仅知识渊博,而且字里行间还非常地幽默风趣,他认为“阅读程序与阅读小说是不一样的,阅读程序的最好方法并非是依次从头到尾。程序不像迷语,我们无法从末尾几页找到答案,也不像一本引人入胜的书籍,只需直接翻到褶皱最多的那几页,我们就能找到最精彩的片断。”简而言之,程序中最好的部分所出现的位置是不确定的,因此我们在阅读程序时,最好逐一考察研究每一段代码,搞清楚每一段代码的来龙去脉,理解每一段代码在程序中所起的作用,“进而形成一个虚拟的程序结构,并以此为基础来进行阅读”。
我开始学习VC++的时候,每学到一个知识点,先从理解概念开始,然后找一段别人已写好的程序来阅读,理解每一行代码在整个程序中的作用,如果这行代码错了会有什么样的结果,如果没有这行代码又会怎么样,阅读后再去上机操作,验证自已的理解是否正确,这样学习虽然较花时间,但有所收获,有的初学者很急躁,不到一个月的时间,就吹牛自已看了多少本书,但学到的只是一些表皮的知识,没有什么用的,还不如认真地钻研一本书,效果可能更加显著,其实你也会慢慢发现,书店里的书虽然多如牛毛,但都大同小异,这很是悲哀!
综上所述,我们需要理解点:一是程序被编写成什么样子,取决于众多的因素;二是阅读程序不能象阅读小说,程序中精彩的部分出现的位置是不确定。另外,阿蒙建议同行们善于通过阅读程序来学习程序开发,每学一个知识点,先去阅读与分析现有的程序,相信对你的学习是有促进作用的。
我们很多的学习都是从阅读开始,学一门语言,学一门技术,一般都会先选择好的老帅或好的教材,去听,去阅读,然后慢慢地理解并掌握,阅读在我们的学习与生活可以说无处不在,阅读是我们学习知识增长见识扩大视野的关键环节。
在大四之时,我开始感觉到课本知识的局限性,特别是在我领悟到自已不得不干技术这行当时,我就更加迫不急待地去学习很多的编程技术,我开始不断地阅读各种各样的编程书籍,也开始被一行又一行的代码所吸引,每当理解到一段代码的作用时,心里就特别的愉悦与富有成就感,当我用DELPHI写出第一个象样的程序时,激动与兴奋了好几天,同学们都在兴高采烈地描绘着毕业后到某某政府机关或金融机构大显身手的宏伟蓝图,我是羡慕的,也是无奈的,我不得不零时抱佛脚,疯狂地阅读,努力学好一门技术,为的是能找到工作混口饭吃,先生存再谈发展。
温伯格大师在《程序开发心理学》里认为程序开发也是写作的一种形式,它与其它的写作形式没有什么两样。众所周知,作家能写出好书,大都博览群书,可以说阅读是提高写作水平的一条重要途径,同样的,程序员学习程序开发,阅读程序对水平的提高也有很大的促进作用,程序员通过阅读程序,可以发现与总结出有价值的东西,比如一段代码之所以如此编写,是由各种因素决定的,有的是因为计算机的局限,有的是因为程序语言的局限,有的是因为程序员本身的水平,而有的则可能是因为标准规范的约束,通过仔细地阅读程序,你会发现并理解到这些因素,并从中受益匪浅。
那么,我们应如何来阅读程序呢?
温伯格不愧为大师级的人物,不仅知识渊博,而且字里行间还非常地幽默风趣,他认为“阅读程序与阅读小说是不一样的,阅读程序的最好方法并非是依次从头到尾。程序不像迷语,我们无法从末尾几页找到答案,也不像一本引人入胜的书籍,只需直接翻到褶皱最多的那几页,我们就能找到最精彩的片断。”简而言之,程序中最好的部分所出现的位置是不确定的,因此我们在阅读程序时,最好逐一考察研究每一段代码,搞清楚每一段代码的来龙去脉,理解每一段代码在程序中所起的作用,“进而形成一个虚拟的程序结构,并以此为基础来进行阅读”。
我开始学习VC++的时候,每学到一个知识点,先从理解概念开始,然后找一段别人已写好的程序来阅读,理解每一行代码在整个程序中的作用,如果这行代码错了会有什么样的结果,如果没有这行代码又会怎么样,阅读后再去上机操作,验证自已的理解是否正确,这样学习虽然较花时间,但有所收获,有的初学者很急躁,不到一个月的时间,就吹牛自已看了多少本书,但学到的只是一些表皮的知识,没有什么用的,还不如认真地钻研一本书,效果可能更加显著,其实你也会慢慢发现,书店里的书虽然多如牛毛,但都大同小异,这很是悲哀!
综上所述,我们需要理解点:一是程序被编写成什么样子,取决于众多的因素;二是阅读程序不能象阅读小说,程序中精彩的部分出现的位置是不确定。另外,阿蒙建议同行们善于通过阅读程序来学习程序开发,每学一个知识点,先去阅读与分析现有的程序,相信对你的学习是有促进作用的。
相关文章推荐
- 阅读程序,学习程序开发的关键环节
- 阅读程序,学习程序开发的关键环节
- 阅读程序,学习程序开发的关键环节
- 阅读程序,学习程序开发的关键环节
- 编译程序和操作系统 分类: 嵌入式开发学习 2011-08-24 10:46 1043人阅读 评论(0) 收藏
- 关于 c语言的编译 和编译后程序的运行 分类: 嵌入式开发学习 2011-03-29 19:57 909人阅读 评论(0) 收藏
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 信号应用实例 分类: Linux --- 应用程序设计 2014-11-09 11:33 66人阅读 评论(0) 收藏
- 【Learning hard C#学习笔记】分享我的手工写“C#专属记事本程序”的要点笔记_图灵社区电子书阅读计划_社区ID:Salas
- EA&UML日拱一卒-0基础学习微信小程序(4)- 安装开发工具
- 小程序学习用demo推荐:豆瓣使用es6;附开发总结(适用1221)
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - System V进程间通信基础 分类: Linux --- 应用程序设计 2014-11-11 13:08 51人阅读 评论(0) 收藏
- 学习IOS开发项目篇--如何让程序在后台保持挂起状态
- Modbus协议 分类: 嵌入式开发学习 2015-02-14 21:19 214人阅读 评论(0) 收藏
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - Linux常见信号及处理 分类: Linux --- 应用程序设计 2014-11-08 11:54 68人阅读 评论(0) 收藏
- hadoop权威指南学习(一) - 天气预报MapReduce程序的开发和部署
- C#控件开发学习问题一:安全透明方法……尝试访问安全关键方法……错误
- 学习程序开发总结
- 专访许鹏:谈C程序员修养及大型项目源码阅读与学习
- 宏定义 do while(0)分析 分类: 嵌入式开发学习 2014-06-09 09:57 220人阅读 评论(0) 收藏
- 微信小程序开发学习笔记005--微信小程序组件详解