强烈推荐10本程序员必读的书-阿里云开发者社区

开发者社区> 沉默王二> 正文

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

简介: 强烈推荐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、《算法》




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


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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26548 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2852 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11032 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2300 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11951 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8806 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
11778 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4574 0
+关注
沉默王二
微信搜索「沉默王二」,回复关键字「00」获取硬核计算机基础资料。
1084
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载