读书方法,以及先后顺序

读书方法,以及先后顺序
技术书分两种:原理书籍,应用书籍
例子分两种:原理例子,应用例子

我的理解是:
1)先运行原理例子,从例子里学习思想,而且代码是活的,还有运行效果,容易记住并活学活用。
2)其次看原理书籍。如果第一步就是看原理书籍,总是看个大概,难点太多,细节太多,而且没有第一印象和切身体会,许多地方只能强记,好不容易有印象了也不能真正理解。
3)然后看普通的例子,全面一点,但不要深入。
4)综合深入的例子,这样的例子书上很少有,但网上却不少。比如VC换肤技术,Delphi远控,Delphi三方控件,都是非常值得学的深入例子。

最后,就是要思考一下,一个语言或者一个工具或者一个框架,最关键的地方是什么(有可能是难点,也有可能不是)。比如Delphi里的难点是VCL,因为编译器相对简单,其制定的规则对所有人都一样,即使开发VCL的人也使用和我们完全相同的规则。VCL相当于是使用Delphi编译器的特点和WINAPI,重新封装了一遍Windows编程,它有一整套自己的思路,必须予以充分的理解,才能真正掌握这门语言。

另外,所谓眼过前遍不如手过一遍,在编程这个行业还真是这样。拿MFC和VCL来说,都有不少好书,提纲挈领甚至事无巨细把要点都讲清楚了,但是自己不动手,仍看不懂或者印象不深。所以我的理解是,原理性书籍是帮你总结的,而不是教你学的。《深入核心:VCL》这本书看了若干遍了,仍不得要领。直到自己分析一遍VCL源码后,再转回来看这本书,才能看懂这本书,而且它其实是帮你总结,而不是用来直接学的,至少给我的印象是如此。另外,即使这样的深入技术的书籍,仍有许多不到位的地方,我自己还总结了一堆书上没讲到的技巧,留下一堆书上没有提到的疑问。《Delphi精要》这本书的效果就更明显了,它的存在就是为了帮助将要成为高手的开发人员总结一下,初学者虽然也能看一下有助于提纲挈领,但毕竟不是自己一路走过来,不会有深刻的体会,最后难免会沦为强行记忆,效果不佳。

总结一下:动手学习原理性的例子,回头看原理书籍,再回头看全面书籍,最后深入大项目学习和修改。

时间: 2024-10-14 00:01:03

读书方法,以及先后顺序的相关文章

Activity生命周期方法的调用顺序工程与测试日志

下面为测试activity的方法的执行顺序   工程与测试资源地址 android工程 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.finalizetest"

Junit4学习笔记--方法的执行顺序

package com.lt.Demo.TestDemo; import java.util.Arrays; import java.util.Collection; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; im

推荐一种简单易学的读书方法

推荐一种简单易学的读书方法 本文由有道云笔记推荐 前段时间我简单统计了一下,从大学毕业后到现在的6年多时间里,总共读了200多本书,平均1年读20-40本,范围涉及企业管理.营销.励志.传记.小说.历史.哲学等等.书读的多了,慢慢的也形成了一套自认为适合自己的读书方法,可以简单地用12个字进行概括:"定目标.列书单.读两遍.致运用".下面我会仔细地跟大家聊聊. 一.定目标(确定读书目标)人的时间和精力是有限的,因此读书.学习都存在成本.为了能够以最小的投入获得最大的产出,我们一定要先确

读书方法总结篇

“书中不仅有黄金屋,也有毒.阅读需思考,小心中毒”.   所有信息均来自网络视频和资料,阅读有风险,照搬需谨慎. ---我是正文的分割线---- 李敖的读书方法最厉害,效率最高,思路最清晰: - 目标明确,为我所用,不被欺骗 - 随时随地搜集素材记笔记 - 有一定基础人,可以先抓概要.再看细节.最后抓精华,给出自己的思考 - 用自己的文档归类法,随时归类,方便查找,不断积累 - 边读边思考,内容互相应证,贯穿思路,读出隐藏含义,纠正不实内容 - 学习过程,抽象的要变具体,具体的东西要抽象 - 不

BitConverter.GetBytes 方法以什么顺序返回字节数组

测试程序 那么,我们写个程序来测试一下吧.下面就是 BitConverterTester.cs: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 using System; namespace Skyiv.Tester {   static class BitConverterTester   {     static void Main()     {       Console.WriteLine("      OS Version: " 

iOS APP启动时所有方法的调用顺序分析

一个应用程序的启动过程要包括代理的创建,控制器的加载和控制器view的加载,这其中有很多关于生命周期的方法,每个方法都是有先后顺序的,如果调用顺序拿不准,或者某段代码写的方法不恰当,就会遇到各种奇葩问题.本文不怕麻烦的在几乎所有启动时要调用的方法里都用了 __FUNCTION__ 打印.结果还有有些地方出人意料的 首先回顾一下应用程序的启动过程 ①.先加载Main函数 ②.在Main函数里的 UIApplicationMain方法中,创建Application对象 创建Application的D

静态属性、静态代码块、静态方法、构造方法、普通方法的执行顺序

静态代码块: 是在当类被载入(内存)时,(最先被调用的),静态代码块被执行,且之被执行一次,静态块常用来执行类属性的初始化.执行类的载入之前就会调用. 非静态代码块: 是在当类的对象被创建载入(内存)时,(最先被调用的),每创建一个对象,即每载入一个对象,非静态代码块都执行一次.执行类对象的载入之前就会调用. 对象载入之前,一定要是类先被载入. 静态方法.非静态方法:都是调用时,才执行的.静态方法属于类的,加载完类就可以调用静态方法:非静态方法是属于对象的,加载完对象就可以调用非静态方法. 加载

js和jquery页面初始化加载函数的方法及先后顺序

原文:js和jquery页面初始化加载函数的方法及先后顺序 运行下面代码.弹出A.B.C.D.E的顺序:A=B=C>D=E. jquery:等待页面加载完数据,以及页面部分元素(不包括图片.视频), js:是页面全部加载完成才执行初始化加载. <!DOCTYPE html> <html> <head> <title>首页</title> <script type="text/javascript" src=&quo

对应用程序启动时所有方法的调用顺序分析

一个应用程序的启动过程要包括代理的创建,控制器的加载和控制器view的加载,这其中有很多关于生命周期的方法,每个方法都是有先后顺序的,如果调用顺序拿不准,或者某段代码写的方法不恰当,就会遇到各种奇葩问题.本文不怕麻烦的在几乎所有启动时要调用的方法里都用了 __FUNCTION__ 打印.结果还有有些地方出人意料的 如果你不是在董铂然博客园看到本文,请点击查看原文 首先回顾一下应用程序的启动过程 ①.先加载Main函数 ②.在Main函数里的 UIApplicationMain方法中,创建Appl