当前位置: 首页 > article >正文

强烈推荐10本程序员必读的书

经常有读者私下问我,能否推荐几本书,以便空闲的时间读一读。于是我跑去自己的书架上筛选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。

01、《代码整洁之道》

我可以这么肯定地说:《代码整洁之道》值得所有的程序员读一读。软件的质量,不仅依赖于架构,更与代码质量息息相关。而代码的质量与其整洁度成正比关系,越整洁的代码,其质量毫无疑问的就会越高。

如何写出整洁的代码呢?Keep It Simple Stupid:代码简单直接,不仅能够提高代码的效率,还能够让阅读代码的人赏心悦目。

本书的第一章,对整洁代码下了一个定义,同学们都应该铭记在心。

1、整洁的代码力求专注,每个方法、每个类都应该全神贯注于一件事;命名更要给人一种“顾名思义”的感觉。
2、整洁的代码简单直接,从不隐藏设计者的意图。
3、整洁的代码应当有单元测试。
4、整洁的代码拒绝重复,其表达力直击人的心灵。

02、《设计模式之禅》

《设计模式之禅(第 2 版)》是设计模式领域公认的 3 本经典著作之一,也是我们国内程序员写的一本书,趣味化十足,读起来也非常容易理解。

同学们都听说过,学习设计模式非常的重要,那么为什么这么重要呢,设计模式到底是什么?打个比喻学编程就像学武功一样。

武功要练得很牛逼,有两样东西不能丢。第一,是内功;第二,是武功秘籍。内功对应到编程就是我们编程基础能力,那编程的设计模式就可以想象成武术中的武功秘籍。

设计模式就是根据不同类型场景,设计优雅的(编码)解决方案。学好设计模式有很多好处,比如,容易看懂经典代码中的逻辑(很多优秀的开源框架大量使用了设计模式);应对面试时对答如流(设计模是面试重点);可以编写出优雅的解决方案(或者代码)。

03、《重构——改善既有的代码设计》


这本书在业界的名声也非常的响,只不过看起来就需要一些精力和耐力,上面这些书看完后,可以看这一本,对于重新审视现有代码有极大的帮助。

重构代码对提高整体的架构能力非常有帮助,因为是站在宏观的角度去思考的。不然很容易把原有的功能给整出 bug 了。

04、《人月神话》

在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。

作者为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。

这本书算得上是饱经沧桑了,毕竟年月已久,但书中包含的思想恐怕永远不会过时。我读完后的感觉是,编程的确和生孩子有一定的相似性,追加人手会在一定程度上缩短项目周期,但并不能改变十月孕期的普遍规律。

05、《编程珠玑》


记得作者在前言中说过一句话:“一次不要读太多,一章足矣。”

本书的确在强调算法,但是除了常规的算法,作者更多的是在表达出一种算法以外的思想:高效的算法没错,但是正确的事情应该用正确的方法来做。 每个算法都有高效的经典例子,但是什么时候用什么样的算法,探究问题的本质,真正的优雅的解决问题,才是本书所要传达的精神。

06、《程序是怎么跑起来的》


本书和《计算机是怎么跑起来的》是一对。这本书的特点就是书的开本比较小,全彩印刷,内容相对简单,整本书很轻。两本书结合起来读会更有趣。

07、《黑客与画家》

第一次看到这本书的书名时,感觉有点爱上的感觉。对于我们程序员来说,当一名“黑客”简直不要太帅。

这是一本能引发技术人思考的佳作,真正意义上的黑客精神、创业、编程语言,是这本技术散文集的三个主题。阮一峰的翻译很到位,很喜欢他的译文。

08、《图解 HTTP》

图解,顾名思义,里面有大量的图片,可以帮助我们快速的理解 HTTP。对于我们程序员来说,懂得 HTTP 的大致原理,可以无形装逼。

把一本书写薄还好读并且覆盖主要的知识范围并不是一件容易的事情。但是这本书做到的,而且从对 HTTP 知识的覆盖程度到易读性都做得相当好。

09、《软技能:代码之外的生存指南》

这本书的作者是真的牛逼,挣了很多钱,完全超乎我的想象。第一次读的时候,感觉一个程序员原来还可以干这么多事,并且和编码是不冲突的,大开眼界吧。

这本书中有一个观点,就是有意识地建立和维护个人品牌,把自己当做一件产品,既要负责生产,保证品质,也要负责销售,推向市场。这个观点对于我来说,还是蛮有影响力的。

10、《算法》

可能很多同学会存在这样一个误区:算法在工作当中很少会用到,需要的时候面向搜索引擎解决一下就行了。

但我想说的是,跳槽的时候很有用,因为一些大厂就喜欢考算法。除此之外,算法对阅读源码也很有帮助;况且,谁不想做一名编程的艺术家呢?长期来看,大脑思考能力是一个人最重要的核心竞争力,而算法是为数不多的能够有效训练大脑思考能力的途径之一。

好了,好了,就先推荐这 10 本书吧。别瞅了,点赞呗,你最美你最帅。如果你需要更多书单,微信搜索[沉默王二]关注我,回复关键字[健康]就可以了。

http://www.lryc.cn/news/2418457.html

相关文章:

  • 2012互联网公司年会美女大盘点
  • [刷机教程] 刷中文recovery V880最简单的刷机教程,更新recovery,修复若干BUG,支持最新ROM
  • PHP+APACHE+MYSQL
  • 新闻事件营销
  • unit5:数据库
  • 怎么完全卸载赛门铁克_卸载Symantec Endpoint Protection, 无需password的卸载方法
  • 数据结构与算法知识要点简明教程(合集)
  • ROUTE.EXE文件丢失导致程序无法运行问题
  • 用Ajax方式提交form表单
  • C/C++生态工具链——单元测试工具Catch2简介
  • java jdbc reparecall_JDBC学习笔记
  • RO11 -用RemObjects SDK创建异步调用客户端
  • Windows7系统sfc_os.dll文件丢失问题
  • 常见游戏外挂分类及原理概述
  • 播放器比的就是画质
  • 电脑回收站无法清空:原因及解决方案大揭秘
  • myeclipse部署时An internal error occurred 错误的几种情况
  • verilog实现多周期处理器之——(六)简单算数操作指令的实现
  • 本人跑fedora 13的烦恼
  • java定时器Timer 类的使用及Timer already cancelled问题解决
  • Apache License Version 2.0中文翻译版
  • 关于Tapestry5运行时报错的解决方法。
  • TransactionScope使用(二)——msdtc不可用
  • hmailserver的反垃圾邮件功能
  • 基于python豆瓣电影爬虫数据可视化分析推荐系统(完整系统源码+数据库+详细文档+论文+详细部署教程)
  • 《黄金瞳》 台词:你人真好!
  • FreeBSD下Mount总结
  • ISA Server 2004的安装与SMTP 筛选器的使用
  • ExtJS中表格控件的使用,属性设置和数据的获取
  • 深入浅出—设计模式重要原则