程序员必读书籍一览表

2023-10-31

书籍推荐——按角色划分

 

一、软件工程师
--Clean Code《代码整洁之道》
--Implementation Patterns《实现模式》
--Code Complete《代码大全》
--Refactoring: Improving the Design of Existing Code《重构——改善既有代码的设计》
--Effective Java(第二版)
--Head First Design Patterns《深入浅出设计模式》
--Agile Software Development 《敏捷软件开发:原则、实践与模式》
--Object-Oriented Design Heuristics《OOD启思录》
--The Art of Readable Code《编写可读代码的艺术》
--Test-Driven Development By Example《测试驱动开发》
--JUnit in Action《JUnit实战》(第二版)
--Working Effectively with Legacy Code《修改代码的艺术》
--UML Distilled: A Brief Guide to the Standard Object Modeling Language《UML精粹:标准对象建模语言简明指南》(第三版)
--The Clean Coder:A Code of Conduct for Professional Programmers《程序员的职业素养》
--The Productive Programmer《卓有成效的程序员》
--Understanding the Professional Programmer《理解专业程序员》
--The Pragmatic Programmer: From Journeyman to Master《程序员修炼之道——从小工到专家》

 


二、架构师
--(包含软件工程师的全部推荐书籍)
--Design Patterns: Elements of Reusable Object-Oriented software 《设计模式——可复用面向对象软件的基础》
--Patterns of Enterprise Application Architecture 《企业应用架构模式》
--Practical API Design: Confessions of a Java Framework Architect 《软件框架设计的艺术》
--Domain-Driven Design: Tackling Complexity in the Heart of Software 《领域驱动设计——软件核心复杂性应对之道》
--Object-Oriented Analysis and Design with Applications《面向对象分析与设计with applications》(第三版)
--Java Concurrency in Practice《Java并发编程实践》
--Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives《软件系统架构:使用视点和视角与利益相关者合作》(第二版)
--Design Patterns Explained: A New Perspective on Object-Oriented Design《设计模式解析》(第二版)
--Refactoring to Patterns《重构与模式》
--AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis《反模式——危机中软件、架构和项目的重构》
--Enterprise Integration Patterns《企业集成模式》
--Domain Specific Languages 《领域特定语言》
--Analysis Patterns: Reusable Object Models《分析模式——可复用的对象模型》
--Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development 《UML和模式应用》(第三版)
--Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design《架构之美》
--Just Enough Software Architecture《恰如其分的软件架构》

 


三、需求工程师
--Writing Effective Use Cases《编写有效用例》
--Specification By Example 《实例化需求》
--Software Requirement Patterns《软件需求模式》
--Managing Software Requirements: A Use Case Approach,Second Editon《软件需求管理——用例方法》(第二版)
--Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development 《UML和模式应用》(第三版)
--UML Distilled: A Brief Guide to the Standard Object Modeling Language《UML精粹:标准对象建模语言简明指南》(第三版)

 

四、测试工程师
--Test-Driven Development By Example《测试驱动开发》
--ATDD by Example《验收测试驱动开发》
--Test-Driven JavaScript Development《测试驱动的JavaScript开发》
--How Google Tests Software《Google软件测试之道》
--Specification By Example 《实例化需求》
--JUnit in Action《JUnit实战》(第二版)

 

五、项目经理/技术经理
--The Mythical Man-Month: The Essays on Software Engineering《人月神话》(第二版)
--Peopleware : Productive Projects and Teams人件(第二版)
--Extreme Programming Explained: Embrace Change《解析极限编程——拥抱变化》(第二版)
--User Stories Applied《用户故事与敏捷方法》
--Agile Estimating and Planning《敏捷估计与规划》
--Scrum and XP From the Trenches《硝烟中的Scrum和XP》
--Lean from the Trenches: Managing Large-Scale Projects with Kanban《精益开发实战——用看板管理大型项目》
--I. M. Wright’s“Hard Code”:A Decade of Hard-Won Lessons from Microsoft《代码之殇》(第二版)
--The Software Development Edge: Essays on Managing Successful Projects《软件开发的边界——管理成功的项目》
--Manage It!: Your Guide to Modern, Pragmatic Project Management《项目管理修炼之道》
--Behind Closed Doors: Secrets of Great Management《门后的秘密:卓越管理的故事》
--Death March《死亡之旅》(第二版)

 

六、公司高管
--The Mythical Man-Month: The Essays on Software Engineering《人月神话》(第二版)
--Peopleware : Productive Projects and Teams人件(第二版)
--The Fifth Discipline: The Art & Practice of The Learning Organization《第五项修炼:学习型组织的艺术与实践》
--The Effective Executive《卓有成效的管理者》
--Becoming A Technical Leader:An Organic Problem-Solving Approach《成为技术领导者——解决问题的有机方法》

 

七、每个人
Are Your Lights On? How to Figure Out What the Problem Really Is《你的灯亮着吗?——发现问题的真正所在》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员必读书籍一览表 的相关文章

  • 业界首个高性能交互式自动标注工具——EISeg正式开源!

    点击左上方蓝字关注我们 在人工智能行业有这么一句话 深度学习有多智能 背后就有多少人工 这句话直接说出了深度学习从业者心中的痛处 毕竟模型的好坏数据占着很大的因素 但是数据的标注成本却让很多从业者感到头疼 在标注中 矩形框标注还相对简单 但
  • 进程管理中的数据结构

    一方面 为了便于对计算机的各类资源 包括硬件和信息 的使用和管理 OS将它们抽象为相应的各种数据结构 以及提供一组对资源进行操作的命令 用户利用这些数据结构和操作命令来执行相关的操作 无需关系具体实现细节 另一方面 操作系统作为计算机资源的
  • 小米MIX 解BL锁教程 申请BootLoader解锁教程

    小米MIX 线刷兼救砖 解账户锁 纯净刷机包 教程 一 准备工作 1 注册小米账号 点击注册 已有小米账号请忽视 2 在手机中登陆 小米账号 3 下载并解压 小米解锁工具 或 点击这里下载安装 二 开始解锁 1 打开 小米解锁官网 http

随机推荐

  • 船只检测——文献阅读第一期,目标检测+哨兵Sentinel数据

    Read with me 因为毕设做船只检测 应该就是用哨兵二号数据提取船只 所以阅读了很多这种文献 想做一个新的企划 叫做和我一起读文献 read with me 分享最近读的所有文献 0代码 纯心得 下面是画的思维导图 已经筛除了部分灌
  • 你好 很高兴学习java_Hello.Java//Tom and Jerry

    class A void f System out println I am A class B public class Hello public static void main String arg System out printl
  • Windows7下WebRTC环境搭建与编译

    之前对WebRTC编程的时候网上找了很多的资料 经过不断的碰壁和实验总结 最终有了以下快捷的WebRTC环境搭建与编译方法 1 首先安装VisualStudio 2008 打上ServicePack1补丁包 也可以安装VisualStudi
  • android.content.res.Resources$NotFoundException: String resource ID #0x1解决方案

    问题描述 Android Studio爆红 android content res Resources NotFoundException String resource ID 0x1 原因分析 这是由于DataBinding进行双向绑定时
  • [C++]命令模式

    命令模式 将一个请求封装为一个对象 从而使你可用不同的请求对客户进行参数化 对请求排队或记录请求日志 以及支持可撤销的操作 github源码路径 https github com dangwei 90 Design Mode 此文件包含 m
  • Linux清除原有ssh密钥方法

    Linux清除原有ssh密钥方法 1 问题现象 以前在mac的终端下面使用ssh user localhost输入密码就可以连接到远程的SSH服务器 今天连接的时候老是提示如下错误 KENFORFORLIN kenforstar sudo
  • pyecharts 折线图画成平滑曲线

    is smooth gt bool 是否平滑曲线显示 默认为 False 伪代码 from pyecharts import Line def draw picture column data line Line line add is s
  • w10打开网络计算机退出,Win10网络发现已关闭怎么办?

    如果已启用网络发现 则这台计算机可以发现网络上的其他计算机和设备 而且其他网络计算机也可以发现这台计算机 最近就有使用win10系统的用户发现网络提示 网络发现已关闭 网络计算机和设备不可见 请启用网络和共享中心中的网络发现 这篇文章就是P
  • root密码忘记了怎么办?(centos7)

    因为自己要记的密码过多 有时候会突然想不起或者忘记密码 比如你重要的Linux密码 别担心 这就教你如何用紧急救援模式重设root密码 开启此虚拟机 进入centos7系统 稍等片刻进入下图页面 默认选中得是第一个选项 如果不是可以用方向键
  • .net出现提交数据错误,提示Nancy.RequestExecutionException错误

    问题描述 提交数据报错 开发环境VS2017 更改了实体类 增加了字段 在webservice中清理重新生成后仍报错 解决方法 需重新引用实体类CFinal Application Entity和映射CFinal Application M
  • 安装交叉编译工具:arm-himix200-linux

    准备工作 下载交叉编译工具 arm himix200 linux 百度网盘 链接 https pan baidu com s 1XuRLd3J6S68X k6Sq1DmwA 提取码 dzas ubuntu版本 vmare安装的ubuntu1
  • 运维之DNS域名解析服务基础概念与Bind9安装

    0x00 前言简述 基础概念 基础术语 记录类型 0x01 DNS服务介绍 原理流程 实验目标 0x02 DNS服务之Bind9 Ubuntu 安装 CentOS 安装 Docker 容器 1 源码编译安装 2 APT仓库安装 Bind9
  • 游戏介绍网站-网页设计期末结课作业

    一个游戏介绍网站 附资源链接 资源下载链接 介绍 是一个用来介绍个人游戏的主页 适用于移动和PC端 是本人一个前端期末结课作业 软件架构 html css javascript jquery vue 安装教程 无需安装 直接打开即可 使用说
  • 【笔记】Go语言学习笔记

    一 概述 什么是程序 程序 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 Go语言 是区块链最主流的编程语言 同时也是当前最具发展潜力的语言 Go语言是Google公司创造的语言 也是Google主推的语言 Googl
  • Mitmproxy 新版配置上游(二级)代理

    Mitmproxy 最新新版配置上游代理 由于在 4 0版本之后flow live change upstream proxy server proxy 方法已经弃用 会引发 AttributeError NoneType object h
  • UGUI之Image、RawImage使用说明

    UGUI之Image RawImage使用说明 Image说明 基本属性 图片切割 九宫格 图集 RawImage可以做什么 用途一 小地图 用途二 帧动画 动图 小常识 Image说明 Image是UGUI中最常见的控件 用于图片的显示
  • golang安装步骤

    1 首先找到资源下载地址 https studygolang com dl 2 下载完毕后 下图是下载好的文件 新建一个文件夹install path 当作安装目录 此处的install file 是下载的资源文件 install path
  • 2021/2/26 单链表应用------一元多项式

    单链表应用 一元多项式 学习时间 2021 2 26 题目名称 单链表应用 一元多项式 问题描述 编写一个程序用单链表存储多项式 并实现两个一元多项式A与B相加的函数 A B刚开始是升序的 A与B之和按降序排列 例如 多项式A 1 2X 0
  • 随机高斯分布的100个2D点

    import numpy as np import matplotlib pyplot as plt 生成随机的10个点 分布在300x300的区域内 num nodes 1000 mean 150 150 高斯分布的均值 cov 500
  • 程序员必读书籍一览表

    书籍推荐 按角色划分 一 软件工程师 Clean Code 代码整洁之道 Implementation Patterns 实现模式 Code Complete 代码大全 Refactoring Improving the Design of