高明的程序员善于通过阅读程序来发现有价值的东西,并不断地提高自已的水平。
我们很多的学习都是从阅读开始,学一门语言,学一门技术,一般都会先选择好的老帅或好的教材,去听,去阅读,然后慢慢地理解并掌握,阅读在我们的学习与生活可以说无处不在,阅读是我们学习知识增长见识扩大视野的关键环节。
在大四之时,我开始感觉到课本知识的局限性,特别是在我领悟到自已不得不干技术这行当时,我就更加迫不急待地去学习很多的编程技术,我开始不断地阅读各种各样的编程书籍,也开始被一行又一行的代码所吸引,每当理解到一段代码的作用时,心里就特别的愉悦与富有成就感,当我用DELPHI写出第一个象样的程序时,激动与兴奋了好几天,同学们都在兴高采烈地描绘着毕业后到某某政府机关或金融机构大显身手的宏伟蓝图,我是羡慕的,也是无奈的,我不得不零时抱佛脚,疯狂地阅读,努力学好一门技术,为的是能找到工作混口饭吃,先生存再谈发展。
温伯格大师在《程序开发心理学》里认为程序开发也是写作的一种形式,它与其它的写作形式没有什么两样。众所周知,作家能写出好书,大都博览群书,可以说阅读是提高写作水平的一条重要途径,同样的,程序员学习程序开发,阅读程序对水平的提高也有很大的促进作用,程序员通过阅读程序,可以发现与总结出有价值的东西,比如一段代码之所以如此编写,是由各种因素决定的,有的是因为计算机的局限,有的是因为程序语言的局限,有的是因为程序员本身的水平,而有的则可能是因为标准规范的约束,通过仔细地阅读程序,你会发现并理解到这些因素,并从中受益匪浅。
那么,我们应如何来阅读程序呢?
温伯格不愧为大师级的人物,不仅知识渊博,而且字里行间还非常地幽默风趣,他认为“阅读程序与阅读小说是不一样的,阅读程序的最好方法并非是依次从头到尾。程序不像迷语,我们无法从末尾几页找到答案,也不像一本引人入胜的书籍,只需直接翻到褶皱最多的那几页,我们就能找到最精彩的片断。”简而言之,程序中最好的部分所出现的位置是不确定的,因此我们在阅读程序时,最好逐一考察研究每一段代码,搞清楚每一段代码的来龙去脉,理解每一段代码在程序中所起的作用,“进而形成一个虚拟的程序结构,并以此为基础来进行阅读”。
我开始学习VC++的时候,每学到一个知识点,先从理解概念开始,然后找一段别人已写好的程序来阅读,理解每一行代码在整个程序中的作用,如果这行代码错了会有什么样的结果,如果没有这行代码又会怎么样,阅读后再去上机操作,验证自已的理解是否正确,这样学习虽然较花时间,但有所收获,有的初学者很急躁,不到一个月的时间,就吹牛自已看了多少本书,但学到的只是一些表皮的知识,没有什么用的,还不如认真地钻研一本书,效果可能更加显著,其实你也会慢慢发现,书店里的书虽然多如牛毛,但都大同小异,这很是悲哀!
综上所述,我们需要理解点:一是程序被编写成什么样子,取决于众多的因素;二是阅读程序不能象阅读小说,程序中精彩的部分出现的位置是不确定。另外,阿蒙建议同行们善于通过阅读程序来学习程序开发,每学一个知识点,先去阅读与分析现有的程序,相信对你的学习是有促进作用的。
分享到:
相关推荐
总体来说,这个小说阅读器源代码项目展示了微信小程序开发的多个关键环节,包括网络请求、数据处理、UI设计和用户交互等,对于想要学习和实践微信小程序开发的人员来说,这是一个很好的学习资源。通过对源代码的研究...
在这个“微信小程序开发案例、微信小程序开发源码”的压缩包中,包含了100多个不同的小程序源码示例,这些都是学习微信小程序开发的宝贵资源。 首先,学习微信小程序,你需要了解它的基本架构。微信小程序基于...
内容概要:本文档全面介绍了微信小程序的开发流程,覆盖了从开发环境搭建到小程序发布的所有关键环节,帮助开发者掌握小程序开发技术。主要章节包括环境准备、小程序账号注册、项目的创建与基本结构解析,以及详细的...
总结来说,微信小程序的开发需要经过定位分析、团队组建、设计制作、测试调整和后期运维等关键环节。这一流程是开发小程序的蓝图,指引着开发者一步步实现从构思到产品的转化。无论你是拥有技术背景的企业主还是非...
在"小程序付费阅读版"中,关键在于实现付费机制。这通常涉及到以下几个技术环节: 1. **会员系统**:用户需要注册并登录才能访问付费内容,同时支持多种支付方式如微信支付、支付宝等,方便用户快速完成交易。 2. ...
微信小程序是一种轻量级的应用开发...总的来说,这个压缩包提供了一个实战性的学习资源,涵盖微信小程序开发的多个重要环节,对于想要学习微信小程序开发的初学者或希望提升技能的开发者来说,都是极具价值的参考资料。
在C#中,利用.NET Framework提供的类库,可以方便地进行Windows应用程序开发。 二代身份证阅读程序的核心功能是通过与身份证阅读器交互,获取身份证上的芯片信息。身份证阅读器通常采用USB接口与计算机连接,程序...
### 基于微信小程序的在线测试...本文通过对微信小程序及其在线测试开发关键技术点的介绍,希望能够为读者提供一定的参考价值。在未来的工作实践中,我们还需不断探索新的技术和方法,以适应日新月异的技术发展潮流。
总结来说,本文档知识内容应该围绕DSP开发流程中涉及到的编程、调试、代码生成等关键环节,利用MATLAB这一强大的工具来辅助DSP开发,最终实现快速、高效、稳定地开发出适用于特定硬件的应用程序。
在这个“微信小程序开发-淘宝客微信小程序前+后台开源版案例源码.zip”中,包含了一整套完整的微信小程序开发案例,包括前端用户界面和后端服务器代码,供开发者学习和参考。 1. **微信小程序框架**:微信小程序...
这个资料全集将带领你深入了解象棋程序开发的每一个环节,无论你是初学者还是经验丰富的程序员,都能从中受益。通过学习和实践,你将有能力构建出能够与人类高手甚至顶尖AI一较高下的象棋程序。
此外,还提到了多种开发资源和...阅读建议:阅读时请注意每个环节的具体操作步骤,并动手跟随文章的引导逐步尝试,这样有助于加深对知识点的理解和掌握,同时建议多关注官方更新和开发社群讨论,以便保持技术领先性。
Windows CE(简称WCE或WinCE)是一种操作系统平台,由微软公司开发,主要用于嵌入式系统,如掌上电脑、...通过阅读这些文件,你应该能够逐步学习和实践Windows CE程序开发,直至成功构建出一个功能完善的课程表软件。
总的来说,这篇毕业论文详细探讨了基于微信小程序的云计算学习平台的开发过程,涵盖了从技术选型到系统设计的全过程,对于想了解和实践微信小程序开发的学生来说,是一份宝贵的参考资料。通过阅读和研究,学生不仅...
通过阅读《Windows 7设备驱动程序开发》这本书,开发者不仅可以学习到上述的知识点,还能掌握如何运用这些知识来解决实际开发中的问题,从而成为一名合格的Windows设备驱动程序开发者。书中可能会涵盖各种案例分析、...
【C++后台服务程序开发模式】 在C++中开发后台服务程序,主要是为了创建能够在操作系统启动后自动运行并在后台默默工作的应用程序。这类程序通常不显示用户界面,而是为其他应用程序或者系统提供服务,如数据库...
总的来说,《嵌入式Linux应用程序开发详解》不仅提供了全面的理论知识,还强调了实践操作,是学习嵌入式Linux开发者的理想教材。通过阅读和实践书中的内容,读者可以逐步掌握嵌入式Linux应用开发的核心技能,从而在...
在微信小程序开发的世界里,创建一个麻将骰子应用是一个有趣且实用的学习项目。这个压缩包“微信小程序开发-麻将骰子:附详细教程案例源码.zip”提供了完整的资源,包括源代码和详细的教程,帮助开发者从零开始学习...
本文档是关于2021年中国高校计算机大赛—微信小程序应用开发赛中南赛区二等奖作品“约在南华校园”的详细说明,旨在覆盖比赛中的所有...对于参赛者和学习者来说,这是一个深入了解微信小程序开发流程和实践的宝贵资源。
5. **管理程序**:管理程序规定了在设计与开发过程中如何选择和使用相应的表单,例如根据产品性质(公司自主设计或OEM订单)来确定需要的报告,以及在客户未指定报告要求时,如何灵活制作关键性表单用于未来评估和...