当前位置 博文首页 > Water的技术博客:书,永远的朋友

    Water的技术博客:书,永远的朋友

    作者:[db:作者] 时间:2021-06-11 09:09

    ? ? ? ? 我自己认为我是一个不大喜欢看书的人, 相对于书,我可能跟喜欢看视频和同高手一起讨论交流。 但是, 真正静下心来, 想着这么多年来,对我影响很大的一些书, 也能想到一些。 索性, 总结一下, 就当是是为了那过去的岁月来一次简单的重新来过。


    ? ? ? 我是上大学的时候, 因为学的专业是软件工程, 所以才开始接触计算机,接触到编程的。 当时在学校里面, 学习了很多有关计算机的课程, 站在现在工作了三年的角度来看, 当时的专业课程中, 应当说大部分都是都用的。伴随着这些课程, 其实相对应的教材也是很经典的。

    ? ? 1. ? 《数据结构》(C语言版) 严蔚敏 编著 ? 清华大学出版

    ?评论: ?这本书算是编程基础中的基础, 里面将计算机中最常见的数据结构,从链表、栈、队列、数组, 到树、图、哈希表等, 都进行了详细的讲述。 当时学习的时候, 可能比较机械, 因为是大二开始学的, 所以对计算机的操作系统、编译器等知道的不多,所以理解不深。 ?后来, 尤其是参加工作后, 去研究LInux系统的内核, 内核中的各种实现, 其基础的数据结构,都来源于当年学习的那本书。

    ? ? 2. ? ?《编译原理》 ?刘坚著 ? 西安电子科技大学出版

    评论: ?编译原理, 在当时看来, 是计算机中比较难的课程了。 各种抽象的概念,比如自动机、有向图等, 当时学习的时候那是一个吃力。 随着在编程方面的经验越来越多, 到现在工作了 , 感觉如果要想更加深入理解程序,理解计算机的工作原理, 就不得不必须知道点 有关编译的知识了。 了解了编译, 让我们写代码时更加深层次的考虑,写出高效高质量的程序来。

    ? ?3. ? 《C++程序设计语言》(影印版) ?高等教育出版社

    评论: ?这本书是当年学习C++的教材, 英文影印版的。 当时我们学校的学院院长,号称将这本书读了17遍。 虽然是英文的, 但是读起来还是比较轻松的。 我个人曾经在学校里面也读过, 确实是C++ 的经典教材。 这本教材的经典在于, 会将作者(C++之父)的心得写在每个章节后面,提示如何做更好。?

    ? 4. ?《C++ ?Primer》 ?

    评论: 这本书也是经典了, C++学习的入门级别的作品, 初学者,对面向对象理解不深刻的同学,可以从中学到很多。 现在都不知道出第几版了

    5. ? 《C语言程序设计》 ? 唐浩强 ? ? 清华大学出版社

    评论: ?说了《C++ Primer》 , 就不得不说 这本书。 这本书是我认为的C语言,甚至是高级程序设计的语言最最入门级的书籍。 虽然有些老师说这本书写的太注重语法了,不太重视程序设计的理念。 但是, 从我的角度看, 作为入门级的学习,还是可以的。 不过, 不能僵化的使用这本书, 读的太深入了,会导致“走火入魔”, 也就是老师谈到的真正忘了程序设计的精髓了。

    6. ?《Java编程思想》 ?

    ?评论: ?这本书因为多年不搞Java , 几乎都要遗忘了。 一直在想, 当年面向对象的学习对我影响最大的是哪本书, 应该就是这本了。Java 是纯面向对象的, 各种面向对象的语法支持。 ?这本书最大的收获, 是结合Java的语言特性, 详细解答了面向对象的编程思想。 对于学习和理解面向对象, 是再合适不过了。


    ? ? ? ?以上几本书, 是在我上学的时候学习的, 现在还保存的几本书, ?平时也会翻一翻。 ?后来找工作的时候, 又看了一本《程序员面试宝典》(第二版) , 这本书应该说总结的也还不错, 既有关于工作方面的经验之谈, 也有关于技术面试的常见题型, 这些题目会让我们学习到一些书本上没有的东西, ?对要找工作的人确实起到一定的帮助。

    ? ? ?工作三年多了, 看的技术类别的书籍不多, 断断续续的看了一些, 有一些经典书籍,也是值得大家读一读的。

    7. ? 《代码大全2》 ? 电子工业出版社

    评论: ?这本书重点讲述了有关如何写好代码, 写出好代码要注意什么, 怎么样才能写好代码。 ?总这本书中, 可以收获关于代码的编程规范要求, 写出高质量代码的必要意识等。 ? 在学校里面, 或许要求只要写出代码来就行。 虽然讲过一些规范,但是很少。 但是工作之后, 代码写的不规范,以后维护起来就很痛苦了。 如果你想让自己的代码更上一个台阶, 推荐读一读这本书,并且按照书里面说的去做, 我想一定会有质的变化。

    8. ?《敏捷软件开发 ?原则、模式和实践》 ?邓辉译 ? ? 清华大学出版社

    评论: ?这本书是我在敏捷当SM的时, 重点学习的。 虽然过去一年多了,但是对这本书中的内容,仍然记忆犹新。 ?这本书好像是分为三个部分, 首先还是谈到了敏捷的价值观、原则等有关敏捷开发的内容。 其次是介绍了软件设计的SOLID的原则, 这几个原则相对于《设计模式》 那本书中谈到的, 更加具有实用性和广泛性。 后来,这些原则指导着我对软件的设计,受益匪浅。 最后一部分, 谈到了一些具体的实践, 这些实践也是经验之谈, ?能够让我们在日常开发中少走很多弯路。

    9. ? 《 设计模式:可复用面向对象的软件基础》 ? 机械工业出版社

    评论: ?这本书号称是软件设计中的经典, 如果要学设计,就必须得看这本设计模式。 ?不过我个人感觉经典之作,可能对于初学者来说, 入门有点难。 因为初学者对面向对象的伟大思想,还没有理解到这一层次,甚至对抽象、多态、接口编程等这些基本的概念,还没有理解透彻。 ?我觉得这本书可以先看看, 然后等有了一定的面向对象设计经验, 再回过头看, 感觉就不一样了。 学设计模式, ?最好的方法还是学习、实践、再学习,再实践。 只有实践了, 才能对面向对象的设计模式理解的更加透彻。 不过话说回来, 也不能过分设计,不能为了设计而设计。

    10. ? ?《高质量程序设计》 ?林锐博士著

    评论: 这本书也算是C/C++的经典之作吧。 ?这本书的特点是语言并不是一般技术书籍的枯燥, 而是比较口语化且带有一些幽默。 同时, 将程序设计中最容易犯的常见错误,都进行了讲解。 作为代码的质量提升方面, 和《代码大全2》 一起,算是同类型的书籍。 关于在代码提升方面, 还有比如《C和指针》、《C专家编程》、《C缺陷和陷阱》……?

    11. ?《重构: 改善既有代码的设计》 ?人民邮电出版社

    评论: ?这本书算是代码重构方面的经典中的经典了。 讲述了各种关于重构方面的技巧,重构的意识等。 这本书我没有完全读完, ?因为一些内容和代码大全中也有。?


    这些年, 除了上述列举的我认为对我的工作和技术有帮助的书籍外, 还阅读过如下:

    1. 《 测试驱动的嵌入式C语言开发》 ?-----这本书重点讲述了采用TDD的方式进行嵌入式C语言开发, 教你一些实践经验,比如软件模拟硬件逻辑来打桩等

    2. ?《C嵌入式编程设计模式》 ? ? -----------这本书重点讲述了嵌入式编程方面的C语言常用设计模式,属于过程式语言的实践经验。 对于常常写驱动程序的同学, 这本书值得一读。

    3. ?《深入理解Linux网络技术内幕》 ?--------这本书 对Linux 网络编程方面 有深入的讲解,尤其是好的设计

    4. ?《深入理解LInux内核》 ? ?-

    5. ?《 解析极限编程——拥抱变化》 ? ------XP如何实践, 这本书可以借鉴


    除了这些外, ?我更喜欢从网络上来获取相关的资料, 尤其是CSDN的各位专家的博客, 有关于技术的、有关于程序人生的、有关于生活的…… 总之, 你能想到的, 这些这里都有, 给我以指导, 其经典不亚于上述这些书籍。?


    从2004年上学开始接触计算机开始, 从第一个C语言的Hello World 程序, 到现在独立完成某个大型项目的模块功能; 从当时邮件都不知道怎么发的菜鸟, 到现在可以熟练的操作控制计算机, 虽称不上专家, 但是也还凑合; 这些年过去了, 一直以来,都是这些书籍, 让我一点点的进步。 书, 是我永远的朋友 !