Stack Overflow 推荐编程书单
Stack Overflow 推荐编程书单
1 Working Effectively with Legacy Code
Michael C. Feathers

修改代码是每一位软件开发人员的日常工作。开发人员常常面对的现实是,即便是最训练有素的开发团队也会写出混乱的代码,而且系统的腐化程度也会日积月累。本书是一部里程碑式的著作,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让你能够更有效地应付它们,将你的遗留代码基改善得具有更高性能、更多功能、更好的可靠性和可控性。
中文版《修改代码的艺术》
2 Design Patterns
Ralph Johnson, Erich Gamma, John Vlissides, Richard Helm

四位顶尖的面向对象领域专家精心选取了具有价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为面向对象技术人员的圣经和词典,书中定义的 23 个模式逐渐成为开发界技术交流所必备的基础知识和语汇。
中文版《设计模式》(翻译不太好)
3 Clean Code
Robert C. Martin

著名软件专家 RoberfC.Marlin 在《代码整洁之道》中为你呈现出了革命性的视野。 Martin 携同 ObjectMetltor 公司的同事,从他们有关整洁代码的敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员
中文版《代码整洁之道》
4 Java concurrency in practice
Brian Goetz, Tim Peierls

深入浅出地介绍了 Java 线程和并发,是一本完美的 Java 并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则。
中文版《 Java 并发编程实战》
5 Domain-driven Design
Eric Evans

全书围绕着设计和开发实践,结合若干真实的项目案例,向读者阐述如何在真实的软件开发中应用领域驱动设计。书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些实践综合到一起,融入了作者的见解和经验,展现了一些可扩展的设计新实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。
中文版《领域驱动设计》
6 JavaScript
Douglas Crockford

JavaScript 曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着 Ajax 的到来, JavaScript “从最受误解的编程语言演变为最流行的语言”,本书描述 JavaScript 的可靠功能,涵盖语法,对象,函数,数组,正则表达式,继承和方法等主题。
中文版《 JavaScript 语言精粹》
7 Patterns of Enterprise Application Architecture
Martin Fowler

作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将 40 多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。
中文版《企业应用架构模式》
8 Code Complete
Steve McConnell

这是一本百科全书式的软件构建手册,涵盖了软件构建活动的方方面面,尤其强调提高软件质量的种种实践方法。作者特别注重源代码的可读性,详细讨论了类和函数命名、变量命名、数据类型和控制结构、代码布局等编程的最基本要素,也讨论了防御式编程、表驱动法、协同构建、开发者测试、性能优化等有效开发实践。
中文版《代码大全》
9 Refactoring
Martin Fowler, Kent Beck

本书清晰揭示了重构的过程,解释了重构的原理和践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了 70 多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。
中文版《重构:改善既有代码的设计》
10 Head First Design Patterns
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates

本书阐述了优化使用 Java 编程语言的软件开发时的设计模式。该书在提供专业知识的同时,仍然具有相当高的可读性。
中文版《 Head First 设计模式》
11 The C Programming Language
Brian W. Kernighan, Dennis M. Ritchie

全面、系统地讲述了 C 语言的各个特性及程序设计的基本方法,包括基本概念,类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、 UNIX 系统接口、标准库等内容。
中文版《C程序设计语言》
12 Effective C++
Scott Meyers

非常经典的 C++ 书籍。书中介绍了 55 个准则,每一条准则描述一个编写出更好的 C++ 的方式。作者高超的技术把握力、独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。
中文版《 Effective C++ :改善程序与设计的 55 个具体做法》
13 Test-driven Development
Kent Beck

阐述了如何使用开创性的方法来编写干净的代码。 书中提到的示例驱动的教学是 Beck 的循序渐进教学的基础,它将让读者使用TDD来扩展他们的项目。
14 Introduction to Algorithms, 3rd Edition
Thomas H. Cormen

Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness.
The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.
一些关于算法的书是严格但不完整的;其他人覆盖了大量的材料,但缺乏严谨性。算法简介独特地结合了严谨性和全面性。
本书涵盖了广泛的算法,同时使设计和分析能够被不同水平的读者所接受。每章相对独立。这些算法用英文和伪代码进行了描述,适合任何有编程基础的人阅读。文中对概念的解释较为简单,同时不失专业深度和数学严谨性。
15 Mastering Regular Expressions
Jeffrey Friedl

本书是讲解正则表达式的经典之作。主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在 perl 、 java 、.net 、 php 中的用法。
中文版《精通正则表达式》
16 CLR Via C#
Jeffrey Richter

本书针对 CLR 和 .NET Framework 4.5 进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书 5 部分共 29 章。第Ⅰ部分介绍 CLR 基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以核心机制为主题,第Ⅴ部分重点介绍线程处理。
中文版《 CLR via C# 》
17 Cocoa Programming for Mac OS X
Aaron Hillegass

作者介绍了两种最常用的 Mac 开发工具: Xcode 和 Instruments 。同时还涵盖了 Swift 语言,基本应用程序架构和 Cocoa 的主要设计模式。全面的展示了如何编写 Mac 程序。
18 Effective STL
Scott Meyers

C++ 的标准模板库( STL )是革命性的技术,但是要想用好 STL 却并不容易。在本书中,畅销书作家 Scott Meyers ( Effective C++ 和 More Effective C++ 的作者)揭示了专家总结的一些关键规则,包括专家们总是采用的做法,以及专家们总是避免的做法。通过这些规则,程序员可以高效地使用 STL 。
中文版《 Effective STL : 50 条有效使用STL的经验》
19 Modern C++ Design
Andrei Alexandrescu

本书介绍了编程技术的融合 - 通用编程,模板元编程,面向对象编程和设计模式。描述了通用编程中使用的 C ++ 技术,并实现了许多工业强度组件。
20 Large-scale C++ Software Design
John Lakos

本书是专为有经验的 C++ 软件的开发者、系统设计师、软件质量保证人员编写的。适合从事大型软件开发工作(如数据库、操作系统、编译程序和框架)的人员阅读。本书将高层设计概念与特定的 C++ 编程细节结合起来,满足下面两个要求:
1、一本面向对象设计的书,尤其侧重于 C++ 编程语言实现方面。
2、一本 c++ 程序设计的书,描述如何使用 C++ 编程语言来开发非常大型的系统。
Stack Overflow 推荐编程书单的更多相关文章
- 「Sqlserver」数据分析师有理由爱Sqlserver之九-无利益关系推荐Sqlserver书单
在前面系列文章的讲述下,部分读者有兴趣进入Sqlserver的世界的话,笔者不太可能在自媒体的载体上给予全方位的带领,最合适的方式是通过系统的书籍来学习,此篇给大家梳理下笔者曾经看过的自觉不错值得推荐 ...
- 总有你要的编程书单(GitHub )
目录 IDE IntelliJ IDEA 简体中文专题教程 MySQL 21分钟MySQL入门教程 MySQL索引背后的数据结构及算法原理 NoSQL Disque 使用教程 Neo4j .rb 中文 ...
- C语言和数据结构的书单-再次推荐
一.推荐专业书单: 1) C语言方面: n 明解C语言——适合初学者 豆瓣链接:https://book.douban.com/subject/23779374/ 推荐理由:< ...
- 国内为什么没有好的 Stack Overflow 的模仿者?
国内为什么没有好的 Stack Overflow 的模仿者? 个人觉得, 高端的程序员会直接上stackoverflow提问, 所以国内中文的stackoverflow必然面对低端程序员. 鉴于中国程 ...
- 最强 Java 书单推荐,附学习方法
技术大佬用1w+字来告诉你该读什么书,循序渐进,并提供百度云盘下载地址.重要的是还有学习方法. 请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub gi ...
- 一个很不错的适合PHPER们书单,推荐给大家【转】
来我博客的访客们中,有一些是PHP的初学者,是不是很迷茫PHP应该怎么学?应该买什么样的书?到处问人,到处求助?这下好了. 正好看到黑夜路人在博客上推荐了一个书单,看上去都非常不错,很多我也没有读过, ...
- 终于,我也要出一本C#的书了 - 我的写作历程与C#书单推荐
我之前的面试题停了很久,是因为 - 我写书去了. 前言 我于2012年3月开始工作,到现在马上就满六年了.这六年里,我从一个连Sql server是什么都不知道,只会写最简单的c#的程序员开始做起,一 ...
- 图灵社区 书单推荐:成为Java顶尖程序员 ,看这11本书就够了
java书单推荐 转自 http://www.ituring.com.cn/article/211418 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两 ...
- 【重磅推荐】嵌入式Linux经典书单(部分含视频)
一直都有人问我要书单,在网上搜索大半天,没找到合适的,他们写的太不负责了,遂决定自己整理. 本书单综合了豆瓣知乎热评,尤其参考了一线开发者韦东山学员群的小伙伴们的意见, 再结合本人多年答疑经验整理而成 ...
随机推荐
- legend3---Laravel Homestead的安装和使用
legend3---Laravel Homestead的安装和使用 一.总结 一句话总结: 配置好homestead之后编码非常方便:在虚拟机或者外部机器里面操作代码两者都会同时改变. 1.Homes ...
- system系统调用返回值判断命令是否执行成功
system函数对返回值的处理,涉及3个阶段: 阶段1:创建子进程等准备工作.如果失败,返回-1. 阶段2:调用/bin/sh拉起shell脚本,如果拉起失败或者shell未正常执行结束(参见备注1) ...
- set_option()函数
这个函数用于设置dataframe的输出显示, import pandas as ps pd.set_option('expand_frame_repr', True) # True就是可以换行显示. ...
- oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate
oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate --继昨天的测试,这一篇实施单实例双向复制(完全重新搭建) --环境不变 db1,db2( ...
- 获取当前页面的title
#-*-coding:utf-8-*-from selenium import webdriverdriver = webdriver.Firefox()driver.get("https: ...
- 【ABAP系列】SAP ABAP 关于BAPI的EXTENSIONIN 一点解释
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 关于BAPI的 ...
- Ubuntu16.04 国内源 source 注意事项
注意对应关系 Ubuntu16.04 为 xenial 如果贴错了 在你执行 sudo apt-get upgrade 的时候很麻烦.很慢会更新到 另外版本系统中. 被坑过…… 阿里云源 deb ht ...
- Java基础语法--IDEA快捷键
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ ...
- [19/06/06-星期四] HTML基础_文本标签、列表(有序、无序、定义)、文本格式化(单位、字体、大小写、文本修饰、间距、对齐文本)
一.文本标签 em:用来表示一段内容的着重点,语气上的强调.一般显示为斜体 i:是斜体显示,和em显示效果一样.h5规定不需要着重的内容而是单纯加粗或斜体可以用i或b.用的不多 strong:用来表示 ...
- linux工具之screen
screen官方网址:http://www.gnu.org/software/screen/ 参考文章:http://man.linuxde.net/screen 简介 Screen是一款由GNU计划 ...