做IT学习非常重要,但是学习的资料同时又非常多,如何选择资料对学习的效果影响也是相当大的。
选择资料是质量的内容是一方面,何时学习资料也是一个非常重要的方面。
我学习时机最为合适的两本资料是《代码大全》和《Effective c++》。
首先说第一本《代码大全》:
读这本书大概是在09年四五月份,大概用了两个月左右的时间。
首先介绍一下我当时的情况。当时我工作三年不到,两年半多一点,期间一直用c做开发,做过几个大的项目。对c的熟悉程度尚可,主要的资料是《C专家编程》。对软件设计没有什么概念,主要的资料是华为的一本《编程规范》。编程规范尚可。编程知识的广度非常有效,技术网站(比如csdn)也不怎么上。
我是在这种情况下接触到《代码大全》。记得当时只是看见同事那里有一本大块头的书,起初以为是什么字典之类的查阅书籍。正好当时空一点,就拿来看了。
我是从序言开始看起,照着里面的说明选择适合自己的章节。我就从第五章开始阅读,没有想到一下子就沉进去了,一口气从第五章读到第二十五章,而且还做了六十来页的笔记。
读完之后感觉特别爽,就像久旱逢甘霖。这本书给我打开了软件设计之门,解决了我当时开发过程中的很多疑问。他也让我看到了软件设计的本质:管理复杂度——这就好比是软件设计的总纲。以这本书为基础,后来我有扩展学习了《重构》《设计模式》等,《编程珠玑》《代码之美》《代码整洁之道》《实现模式》等已排入我的学习计划中。
这本书对外的研发生涯非常重要,可以说是我一个技术的转折点,让初步我看到了软件设计的门径。
PS:有一段时间因为工作需要了解SOA,它对我研发生涯也非常重要,主要是扩展了我的视野,比如:SCA,MDD,TDD,软件架构,流程引擎,敏捷开发等。目前我经常访问的三个技术网站:CSDN,INFOQ,IBM——也是在当时留下来的习惯,他们让我的技术视野时刻保持开阔。
第二本《Effective C++》:
这是我最近在读的一本书,读了将近一半。
我现在工作四年多一点,前三年基本上用c,最近一年基本上用c++。用C++做了三个项目。我使用C++基本上就是自学,我们公司以前基本没有人使用,所以很多东西都是自己摸索的。由于我是从C转过来的,所以我做的第一个项目(一个预研项目)基本上就是使用“C语法 + C++面向对象”。C++语法我没有系统的学习过,基本上是开发上遇到问题就去查资料解决问题。就这样慢慢的对C++熟悉了。
后来用C++做了两个比较大的项目,也主要是使用C++的面向对象特性,像其他的特性比如异常,模板等均未涉及。
最近空闲了,向提高一下C++能力。我这里有几本C++的书:《C++ primer》《C++沉思录》《c++ template》《Effective C++》。
《C++ primer》比较基础,也比较系统,我之前就尝试看过,但是看不下去。我发现现在我对这些基础的系统的资料已经失去了耐心。这可能是大学的学习和工作的学习有区别的一个地方。大学目的是为了学,而工作目的是为了用。如果没有实际的需求而去系统的学习一个东西,可能动力不足。如果为了解决一个问题去学习,那效果可能会非常好。
所以我就去找有难度一点的资料,我找的是《c++沉思录》。这本书我从第一章开始看,看了几章,发现书里面说的东西,和自己一点共鸣都没有,自己实在看不下去。读书读不下去,不一定是自己意志力不行,可能是这本书不适合你。
我又找了一个相对简单一点的,就是这个《Effective C++》。它不像《C++ primer》那样系统,只是详细描述了C++开发中的55个设计注意事项;同时他也不像《c++沉思录》那样比较深——总之,它十分适合现在的我,有一些开发经验,也有一大堆的疑问,它正好可以解答我的这些疑问。在学习的过程中,遇到自己生疏的语法,就查一下《C++ primer》,这样下来不知不觉也补了不少C++基础知识。看到现在,已经将近看了一半,做了二十来页的学习笔记,感觉有一种即将“破门而入的”的感觉。c++确实很强大!
最后总结一下:
1、那种方式学习最快?一定是有工作需求的,并且能够和实际的开发经验结合起来的时候学习的最快,
2、如果一本书读不下去,不一定是自己的意志力有问题(技术学习是一个IT人的一项基本需求,就像人要吃饭一样,不需要意志力),可能是这本书不适合你,至少是不适合现在的你。
3、实践也是一种学习方式,而且是最重要的一种学习方式。
分享到:
相关推荐
适合各阶段学习的mongodb资料合集,包含pdf文档以及脑图总结。
三阶段27level逆变器单电源和Buck-Boost变换器.zip学习资料Matlab Simulink开关电源仿真模型 三阶段27level逆变器单电源和Buck-Boost变换器.zip学习资料Matlab Simulink开关电源仿真模型 三阶段27level逆变器单电源...
值得看看的VS学习资料!!!!!适合初级阶段的好学之士下载\学习.
零基础游戏编程学习资料 适合各阶段的学习者 资源小合集
18年当年我花钱买的30G的学习资料。还算比较新。 我大部分都看过,讲的挺系统的,就是学习过程中,遇到不会的,你要通过其他渠道补充知识,然后再继续学下去。 如果是高手的话就不用下载了,适合初学者。 网盘也...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大...基于人工智能、深度学习、JAVA、python、研究生阶段的学习资料以及项目源码.zip
LINUX 初级阶段资料,适合刚刚入门的学习。
最全面的GDI+学习资料,带有很多范例程序,适合各阶段的开发人员
监理报告(审计阶段).zip监理报告DOC文档资料下载监理报告(审计阶段).zip监理报告DOC文档资料下载监理报告(审计阶段).zip监理报告DOC文档资料下载监理报告(审计阶段).zip监理报告DOC文档资料下载 1.合个人学习技术做...
镍铁厂房项目基础工程阶段监理工作报告.zip监理报告DOC文档资料下载镍铁厂房项目基础工程阶段监理工作报告.zip监理报告DOC文档资料下载镍铁厂房项目基础工程阶段监理工作报告.zip监理报告DOC文档资料下载镍铁厂房...
石林县东门街地热水勘探施工阶段监理总结.zip监理报告DOC文档资料下载石林县东门街地热水勘探施工阶段监理总结.zip监理报告DOC文档资料下载石林县东门街地热水勘探施工阶段监理总结.zip监理报告DOC文档资料下载石林...
某高校机器学习的期末考试复习资料,适合研究生阶段的复习及自我测试,有实体及答案
经典的学习路线,有它,java学习不再迷茫,偶就是这样过来的,加油啊。
徐州市大龙湖改造工程水下工程阶段验收监理工作报告.zip监理报告DOC文档资料下载徐州市大龙湖改造工程水下工程阶段验收监理工作报告.zip监理报告DOC文档资料下载徐州市大龙湖改造工程水下工程阶段验收监理工作报告....
JQuery插件+demo:适合新手学习的资料示例整理 包含几个阶段的学习文件
算法入门,适合各个阶段学习。 英文版本的哟!不过资源确实很不错的。
CSharp学习必经阶段,很适合初学者。看了你就知道确实是初学者必须掌握的C#部分的内容。
适合人群:本路线适合刚开始学习的前端的小伙伴,其他阶段的小伙伴也可以梳理自己的路线使用,可以按照这个路线去进行学习。 能学到什么:给自己的前端学习定义一个大体的学习框架,不至于那么迷茫,当感到迷茫时,...
关于软件测试的相关资料 了解软件开发方向的测试阶段 适合初学者
java学习书目 一、入门 《Java 2从入门到精通》- 推荐 《Thinking in Java》- 强烈推荐* O’reilly的Java编程基础系列 - 参考* 二、进阶 《Java Cook Book》- 非常推荐* (包含了Java编程的Tips,适合当做手册...