程序员必读书籍及导读指南

  最近在网上看了一个非常好的帖子《程序员一生必读的书》(我的腾讯微博上有分享该贴子链接,有兴趣就点击进去看看吧),该贴的第一个张图片是一个雷达图, 这张图是由ThoughtWorks(全球软件设计与定制领域的领袖级企业)的资深人士提供的,它将程序员要读的书分为四个类别,每个类别又分为初级、进阶和高级读物,并用黄色三角形点出了强烈推荐阅读的书籍。四个类别包括:

  • 编程实践(Coding Practice)
  • 设计与架构(Design & Architecture)
  • 方法学(Methodology)
  • 思想与领导力(Thought & Leadership)

程序员必读书籍的雷达图

  相信这张图会帮助到很多迷茫的职业人,因为好书就像明灯一样会照亮我们的方向,那些大师级的人物将他们的经验分享给我们,真的有如浴春风的感觉。有时候会很感慨国外有那么多厉害的技术作家写了那么多好的作品,而国产技术书籍中的好书真算得上是凤毛麟角。有时候也会问自己,能不能做一个技术作家呢,我想我的修炼还远远不够。下面就把这些好书罗列出来跟大家分享。

Code Complete 《代码大全》

这里写图片描述


Refactoring《重构:改善既有代码质量》

这里写图片描述


Clean Code 《代码整洁之道》

这里写图片描述


The Pragmatic Programmer: From Journeyman to Master 《程序员修炼之道:从小工到专家》

这里写图片描述


The Practice of Programming 《程序设计实践》

这里写图片描述


Design Patterns 《设计模式》

这里写图片描述


Domain-Driven Design 《领域驱动设计》

这里写图片描述


The Art of UNIX Programming 《UNIX编程艺术》

这里写图片描述


Practical API Design 《软件框架设计的艺术》

这里写图片描述


Patterns of Enterprise Application Architecture 《企业应用架构模式》

这里写图片描述


  还有很多好书可能因为选择标准的不同在雷达图中虽然没有出现,但是仍然值得每个程序员去阅读,这些好书包括:

The C Programming Language 《C语言程序设计》

这里写图片描述

  C语言之父Dennis Ritchie以及Brian Kernighan两位老师合著的神一样的书籍。我到现在都没有想明白为什么国内只有极少数的几所大学用这本书作为教材,难道C语言的入门书中还有出其右者吗?这本书的内容无比精彩,不管是对于初学者还是有经验的程序员;这本书中的代码无与伦比,几乎每一段代码都是经典。即使你还没有读过本书,但是你一定听说过一个叫Hello, world的程序,该程序就出现在这本书中。


The Mythical Man-Month 《人月神话》

这里写图片描述

  这本书是号称软件工程领域的第一奇书,与《人件》合称为软件工程著作中的倚天剑和屠龙刀。Brooks博士为人们管理复杂项目提供了最具洞察力的见解。既有很多发人深省的观点,又有大量软件工程的实践,其内容都是来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。这本书是项目经理和系统分析师必读的不朽之作,也是流行了30多年的传奇经典。


Hackers and Painters 《黑客与画家》

这里写图片描述

  该书是我最近几乎每天都翻翻的一本书,准确的说这本书是硅谷创业之父Paul Graham的文集,主要介绍优秀程序员(书中称之为黑客,当然这和我们尤其是国内对黑客的理解有所差别)的爱好和动机,讨论它们如何成长以及如何为世界做出贡献,当然也包括了对编程语言和优秀程序员工作方法等的探讨和思考。该书的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。该书的中文版是阮一峰博士翻译的,翻译的水准和书中的旁注都相当好。


The Art of Computer Programming 《计算机程序设计艺术》

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述


Introduction to Algorithms 《算法导论》

这里写图片描述


Object-Oriented Analysis and Design with Applications 《面向对象分析与设计》

这里写图片描述


  除此之外,因为自己做了很长时间的Java程序员,有一些Java方面的好书可以推荐给大家。

Thinking in Java 《Java编程思想》

这里写图片描述

Bruce Eckel的书对于学习如何在Java语言环境中使用好面向对象技术极其实用。本书中的很多代码都变成了招聘Java程序员的面试题,因为那些代码都极具参考价值。Eckel本人具有多种语言的大量经验,还有用面向对象方式进行思考的扎实技能,是C++标准委员会有表决权的委员,他写的《Thinking in C++》一书也是多次获奖的著作。本书将交给你很多实用的Java开发技术。


Effective Java

这里写图片描述

本书是理解优秀 Java 程序设计原则的最佳书籍。连Java之父James Gosling也称赞本书为他很需要的书籍。本书讲解了78条原则,每一条都很精彩,例如第8条和第9条中关于重写equals()方法的讲解、第18条用接口替代抽象类、第57条至第65条关于异常使用的原则,一切都无比精彩。Bloch是Sun公司Java平台库的架构师,所以他透彻地了解这门语言,而且他本人也编写了Java语言中大量有用的API。此书必读!


《Java与模式》

这里写图片描述


The Well-Grounded Java Developer 《Java程序员修炼之道》

这里写图片描述


POJOs in Action

这里写图片描述


  其实国产的Java书籍里面也有部分优秀的书籍,虽然国产书的质量总体偏低,但是最近几年还是有很多有责任感的技术作家(他们很多人同时也是一线程序员或架构师)写了不少好书。

《设计模式之禅》

这里写图片描述


《编写高质量代码:改善Java程序的151个建议》

这里写图片描述


《Spring 3.x企业应用开发实战》

这里写图片描述


《Tomcat与Java Web开发技术详解》

这里写图片描述


《疯狂Java:突破程序员基本功能的16课》

这里写图片描述


  如果你以前不是计算机相关专业又想转型从事软件行业,那么我推荐先看一些专业气质养成类书籍,当然最入的书就是《计算机导论》、《计算机文化》之类的书,也可以看看《计算机科学概论》或者是《计算机专业英语》,建议看原版的,一方面对整个行业有一个全面的了解,另一方面锻炼一下自己的英语水平。无论如何,我觉得程序员还是应该让英语成为自己的工作语言。

Computer Concepts 《计算机文化》

这里写图片描述


Computer Science Illuminated 《计算机科学概论》

这里写图片描述


Computing Essentials 《计算机专业英语》

这里写图片描述


  如果你希望从零基础开始做一个Java程序员,那么我建议的这些书的阅读顺序是这样的(每项读一本就OK了):
1. Computer Concepts / Computer Science Illuminated
2. The C Programming Language
3. Core Java (Vol. 1 & Vol. 2) / Introduction to Java Programming
4. MySQL Crash Course / 深入浅出MySQL / Sams Teach Yourself SQL in 10 Minutes
5. Thinking in Java / Effective Java / 编写高质量代码:改善Java程序的151个建议
6. Servlet & JSP: A Tutorial / Head First Servlets & JSP
7. Java与模式 / Design Patterns Explained / 设计模式之禅
8. 精通Hibernate / Java Persistence with Hibernate
9. Spring in Action / Spring企业应用开发实战 / Spring技术内幕
10. Clean Code / Refactoring Impoving the Design of Existing Code
11. The Well-Grounded Java Developer
12. Algorithms / Data Structures and Algorithm Analysis in Java
13. POJOs in Action / Core J2EE Patterns: Best Practices and Design Strategies
14. Java Performance
15. Software Engineering A Practitioner’s Approach

说明:原来打算把读书心得写在这篇文章中,后来想想觉得内容太多,准备每本书的读书心得单独成文,欢迎大家分享交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49242.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

经常有读者私下问我,能否推荐几本书,以便空闲的时间读一读。于是我跑去自己的书架上筛选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。 01、《代码整洁之道》 我可以这么肯定地说:《代码整洁之道》值得所有的程序员读一读…

open AI API使用经验

open AI API 文章目录 open AI API引言概念TokenspromptsModels 使用流程1.登录open AI 账号获得API keys2.接入环境3.API用例(1)Completion(2)ChatCompletion(3)Images(4)Edit 引言…

卖AI数字人代理是小风口吗?

我是卢松松,点点上面的头像,欢迎关注我哦! 2023年第一个小风口是:以ChatGPT为代表的人工智能AI。第二个创业小风口则是:数字人直播带货。注意我说的是数字人代理。今天的卢松松的文章就扯一扯数字人直播。 最近龚文…

马车拉的再好,也该摸摸方向盘了!近500家美国企业用ChatGPT取代员工

Datawhale分享 最新:GPT影响,来源:量子位 自从ChatGPT掀起浪潮,不少人都在担心AI快要抢人类饭碗了。 据就业服务平台Resume Builder调查统计,在1000多家受访美国企业中,用ChatGPT取代部分员工的&#xff0…

机场云商sign解析

这里直接进入算法查找主题,至于如何逆向小程序可以在GitHub上搜索wxunpack得知。 这里我就不重复展示抓包过程,抓包里面我们看到header里有nonceStr、sign 通过关键字直接搜索小程序源码得到关键部分: if ("POST" t) y.sign r(d,…

chatgpt赋能python:Python屏蔽一行代码的方法详解

Python屏蔽一行代码的方法详解 Python作为一种高级编程语言,在开发过程中经常需要注释掉一行或多行代码,以便调试或跳过特定的代码段。本文将介绍Python屏蔽一行代码的方法。 方法一:用#将代码注释掉 在Python中,用#可以快速注…

网页源代码检查时隐藏 WebSocket 的后端地址

背景 近期在自研如何通过 OpenAI 实现 与ChatGPT 官网一样的聊天对话效果。 用到了 html5websocketpython 三项技术 , 于是用一天时间自学了一下这方面技术。 当实现了功能之后,就得考虑安全问题: 在用 html5 实现与 websocket 通讯时,如何保…

你是不是在担心,ChatGPT写出的文字被其它AI识别?

文 / 高扬(微信公众号:量子论) 最近不少人问我一个道听途说的事情:听说已经有AI工具能够识别是不是ChatGPT写的文字了? 看来必要写篇文章,通过摆事实,为大家压压惊。 在赌场里,能抓老千的人一定…

uniapp判断是否登录跳转处理

问题 uniapp中,我们的页面是在pages.json里面配置的,第一个页面是我们的启动页, 假设我们第一个启动页设置成登录页,那我们每次是不是每次检测token,都会监测登录页,然后才会跳转至想要的页面 假设我们第一…

Qt中登录界面跳转到主界面的两种方法

Qt中登录界面跳转到主界面的两种方法 1 登录界面跳转2 跳转的两种方式2.1 利用QDialog::Accepted2.2 利用QObject::connect( ) 1 登录界面跳转 登录界面跳转,应该是项目的常见需求了。 输入账号、密码后,点击登录按钮跳转。 2 跳转的两种方式 这里博…

登录页面跳转

登录页面跳转 开发工具与关键技术:VS、MVC作者:黎官凤撰写时间:2019/05/10在做项目的时候有很多的项目都是需要实现登录的,在登录页面上填写完整各种登录信息然后点击登录按钮跳转到主页面从而实现到你登录进去要实现的功能。就像…

AndroidStudio创建手机登录注册跳转界面

一、新建一个空的LoginActivity 二、在activity.login.xml中进行布局设计 (一)那么如何打开呢这个.xml文件呢? 新建activity后里面会有初始代码,按住Ctrl键点击activity.login就可以进入xml文件了。 (二)…

如何用Android Studio实现登录跳转

前言 这个项目是我很早的时候写的,现在将其发上来供大家参考。可能存在一些不规范的问题,如有不对,欢迎批评指正。首先需要安装配置好Java开发环境,并选择任意一款Android开发工具进行编程,推荐下载安装Android Studi…

关于swagger突然跳转登录页面

今天建了一个初始项目,引入swagger之后,启动调用,却总跳转到一个登录页面,手足无措 最后原因是导入了security的包,导致权限安全拦截 注释后运行成功,如果没有成功看一下dependencies 里面是否还存在secur…

Android--使用显式Intent,实现从登录界面到注册界面的跳转

//Activity_abaka.xml --------------注册界面<?xml version"1.0" encoding"utf-8"?><RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xml…

HTML实现登录后跳转到指定页面,不回退

最近开发页面&#xff0c;需要实现登录功能&#xff0c;成功后跳转到指定页面&#xff0c;之前尝试了好几种页面被跳转方法&#xff0c;但是都失败了&#xff0c;好在最终成功跳转&#xff0c;且浏览器不会后退&#xff0c;所以来记录一下&#xff1a; 最开始我使用的是window.…

登录页面,登录后跳转不成功

一、登录后跳转不成功&#xff0c;原因未知 二、分析①&#xff1a;404错误&#xff1a;用户操作资源不存在 分析②&#xff1a; action跳转地址为&#xff1a;http:/localhost:80/day0901/login 网页中登录后实际跳转地址为&#xff1a;http://localhost:8005/localho…

如何从短信链接打开跳转到微信App内

运营做了一个活动&#xff0c;准备发送短信推广出去&#xff0c;结果问题来了&#xff0c;用户接收到短信后&#xff0c;点击短信里的链接&#xff0c;默认是用的系统浏览器打开的&#xff0c;但我们的活动是用微信支付啊~~~微信支付啊~~~ 系统浏览器里不支持啊&#xff01;&a…

uniapp登录拦截器(未登录点击其他地方跳转登录页)

项目场景&#xff1a; 例如&#xff1a;客户要求用户在未登录的情况下&#xff0c;用户只可以在底部导航栏操作&#xff0c;点击其他的的功能都要跳转到登录页面。 uni.addInterceptor拦截器 是uni-app官网提供的拦截器&#xff0c;可以利用它来实现登录拦截器&#xff0c;用户…

【Android】用户登录界面功能实现:登陆跳转、退出

文章目录 用户登录界面功能实现&#xff1a;登陆跳转、退出♦ 回顾♦ 编写 MainActivity 实现功能登录功能效果退出弹框、连续点击返回退出 ♦ 设计 activity_my_tool.xml 展示工具界面♦ 编写 MyToolActivity 展示欢迎信息 用户登录界面功能实现&#xff1a;登陆跳转、退出 ♦…