spring5高级编程_有哪些你看了以后大呼过瘾的编程书?

593234e7bdce5a500bab6a03467a336a.png

今天在网站上看到有一个问答特别火,那就是有哪些有哪些你看了以后大呼过瘾的编程书? 看到好多人的问答都被推荐的几百。我今天也来回答一下这个问题。

先给大家分享一下怎样学习任何一种编程语言,然后再给大家推荐编程书。

我将教你怎样学习任何一种你将来可能要学习的编程语言。本书的章节是基于我和很多程序员学习编程的经历组织的,下面是我通常遵循的流程。

1.找到关于这种编程语言的书或介绍性读物。

2.通读这本书,把里边的代码都录入一遍并使其运行起来。

3.一边读书一边写代码,同时做好笔记。

4.使用这种编程语言实现一些你用另一种熟悉的编程语言做过的程序组件。

5.阅读别人用这种编程语言编写的代码,试着仿照他们的方式编写代码。

在本书里,我强制要求你慢慢地一点一点地完成了这个过程。别的书不是用这种方法写的,那就需要你把我教你的方法套用在这些书上。最好的办法是先快速过一下书中的内容,将里边的主要代码片段列出来,将这份列表变成一系列基于习题的章节,然后按照次序一一完成。

以上流程对学习新技术也适用,只要你有一本相关的书,就能把它转换成这种练习模式。对于没有书的学习内容来说,你可以使用网上的教程或者源代码作为你的入门资料。

每学一种新的编程语言,你就会成长为一个更好的程序员。你学的编程语言越多,它们就会变得越容易学习。当你学到第三种或者第四种编程语言的时候,你就应该能够在一周内学会一门类似的编程语言了,不过对于一些特别的编程语言来说你可能还是要花较长的时间。你现在学了Python,接下来学习Ruby和JavaScript就应该比较快了。这是因为很多编程语言有着共同的理念,你只要学了其中一种,就能用在别的编程语言上。

关于学习新编程语言的最后一件要记住的事情就是:别当一个“蠢游客”。“蠢游客”就是那种去了一个国家旅游,然后回来抱怨那儿的饭不好吃的人。“为什么这个白痴国家连汉堡都买不到?”当你学习一种新编程语言时,不要假设它的工作方式太蠢,它只是不同而已,只有接受它你才能学会它。

不过,在学完一种编程语言后,不要成为这种编程语言工作方式的奴隶。有时你能看到有人使用一种编程语言做一些很白痴的事情,没有别的理由,只不过是“我以前一直就是这样做的”。如果你喜欢一种风格,而你又知道大家的做法和你不同,如果你看到后者能带来好处,那就毫不犹豫地打破自己的习惯吧。

我个人是很喜欢学习新编程语言的。我把自己当成一个“程序员人类学家”,我认为一种编程语言反映了一群使用它的程序员的一些独到见解。我学习的是他们用计算机互相交流时使用的语言,这对我来说非常有趣。不过话说回来,我这个人还是有点儿古怪的,所以对于新编程语言,你只要想学就学就行了。

书单奉上

1、重构 改善既有代码的设计(第2版 平装版)

a71b57241ca6c2b1b8288a767958ea7d.png

本书是一本为专业程序员编写的重构指南。我的目的是告诉你如何以一种可控且高效的方式进行重构。你将学会如何有条不紊地改进程序结构,而且不会引入错误,这就是正确的重构方式。

按照传统,图书应该以概念介绍开头。尽管我也同意这个原则,但是我发现以概括性的讨论或定义来介绍重构,实在不是一件容易的事。因此,我决定用一个实例作为开路先锋。第1章展示了一个小程序,其中有些常见的设计缺陷,我把它重构得更容易理解和修改。其间你可以看到重构的过程,以及几个很有用的重构手法。如果你想知道重构到底是怎么回事,这一章不可不读。

第2章讨论重构的一般性原则、定义,以及进行重构的原因,我也大致介绍了重构面临的一些挑战。第3章由Kent Beck介绍如何嗅出代码中的“坏味道”,以及如何运用重构清除这些“坏味道”。测试在重构中扮演着非常重要的角色,第4章介绍如何在代码中构筑测试。

从第5章往后的篇幅就是本书的核心部分——重构名录。尽管不能说是一份巨细靡遗的列表,却足以覆盖大多数开发者可能用到的关键重构手法。这份重构名录的源头是20世纪90年代后期我开始学习重构时的笔记,直到今天我仍然不时查阅这些笔记,作为对我不甚可靠的记忆力的补充。每当我想做点什么——例如拆分阶段(154)——的时候,这份列表就会提醒我如何一步一步安全前进。我希望这是值得你日后一再回顾的部分。

2、编程珠玑 第2版

df19c9d1067c2b68e07c46dcbdbfc578.png

本书描述了计算机编程更具魅力的一面:在可靠的工程之外,在洞察力和创造力范围内结晶而出的编程珠玑。正如自然界中的珍珠来自于磨砺牡蛎的细沙一样,这些编程珠玑来自于磨砺程序员的实际问题。书中的程序都很有趣,传授了重要的编程技巧和基本的设计原理。

本书大部分内容最初发表在《ACM通讯》中我主持的“编程珠玑”专栏。这些内容经过汇总和修订,在1986年结集出版,成为本书的第1版。第1版的13篇文章中,有12篇都在本版中做了大幅修订;此外,本版还补充了3篇新的内容。

阅读本书所需的唯一背景知识就是某种高级语言的编程经验。书中偶尔会出现一些高级技术(如C++中的模板等),对此不熟悉的读者可以跳过这些内容,基本上不影响阅读。

3、代码整洁之道

b77a8c441348ef09d6a3eefd9c051b7b.png

学写整洁代码很难。它可不止于要求你掌握原则和模式。你得在这上面花工夫。你须自行实践,且体验自己的失败。你须观察他人的实践与失败。你须看看别人是怎样蹒跚学步,再转头研究他们的路数。你须看看别人是如何绞尽脑汁做出决策,又是如何为错误决策付出代价。

阅读本书要多用心思。这可不是那种降落前就能读完的“感觉不错”的飞机书。本书要让你用功,而且是非常用功。如何用功?阅读代码——大量代码。而且你要去琢磨某段代码好在什么地方、坏在什么地方。在我们分解,而后组合模块时,你得亦步亦趋地跟上。这得花些工夫,不过值得一试。

本书大致可分为3个部分。前几章介绍编写整洁代码的原则、模式和实践。这部分有相当多的示例代码,读起来颇具挑战性。读完这几章,就为阅读第2部分做好了准备。如果你就此止步,只能祝你好运啦!

第2部分最需要花工夫。这部分包括几个复杂性不断增加的案例研究。每个案例都清理一些代码——把有问题的代码转化为问题少一些的代码。这部分极为详细。你的思维要在讲解和代码段之间跳来跳去。你得分析和理解那些代码,琢磨每次修改的来龙去脉。

你付出的劳动将在第3部分得到回报。这部分只有一章,列出从上述案例研究中得到的启示和灵感。在遍览和清理案例中的代码时,我们把每个操作理由记录为一种启示或灵感。我们尝试去理解自己对阅读和修改代码的反应,尽力了解为什么会有这样的感受、为什么会如此行事。结果得到了一套描述在编写、阅读、清理代码时思维方式的知识库。

4、代码整洁之道 程序员的职业素养

7a439e339e2f257c527b0ca4e89a1230.png

成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。

软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。

5、Python编程快速上手 让繁琐工作自动化

e984d17195bb4f4c2756194b88991684.png

软件是我们今天使用的许多工具的核心:几乎每个人都使用社交网络来进行交流,许多人的手机中都有连接因特网的计算机,大多数办公室工作都涉及操作计算机来完成工作。因此,对编程人才的需求暴涨。无数的图书、交互式网络教程和开发者新兵训练营,承诺将有雄心壮志的初学者变成软件工程师,获得6位数的薪水。

本书不是针对这些人的。它是针对所有其他的人。

就它本身来说,这本书不会让你变成一个职业软件开发者,就像几节吉他课程不会让你变成一名摇滚巨星。但如果你是办公室职员、管理者、学术研究者,或使用计算机来工作或娱乐的任何人,你将学到编程的基本知识,这样就能将下面这样一些简单的任务自动化:

  • 移动并重命名几千个文件,将它们分类,放入文件夹;
  • 填写在线表单,不需要打字;
  • 在网站更新时,从网站下载文件或复制文本;
  • 让计算机向客户发出短信通知;
  • 更新或格式化Excel电子表格;
  • 检查电子邮件并发出预先写好的回复。

6、笨办法学Python 3

dfd21d74c1403b749cdeb1a4c08fcdc6.png

这本书的目的是让你起步编程。虽然书名说是用“Hard Way”(笨办法)学习写程序,但其实并非如此。所谓的“笨办法”指的是本书的教学方式,也就是所谓的“指令式”教学。在这个过程中,我会让你完成一系列习题,而你则通过反复练习来学到技能,这些习题也是专为反复练习而设计的。对于一无所知的初学者来说,在能理解更复杂的话题之前,这种教授方式效果是很好的。你可以在各种场合看到这种教授方式,从武术到音乐不一而足,甚至在学习基本的算术和阅读技能时也会看到这种教学方式。

本书通过练习和记忆的方式,指导你逐渐掌握使用Python编程的技能,然后由浅入深,让你将这些技能应用到各种问题上。读完本书之后,你将有能力接触学习复杂的编程主题所需的工具。我喜欢告诉别人:我的这本书能给你一个“编程黑带”。意思就是说,你已经打好了基础,可以真正开始学习编程了。

如果你肯努力,并投入一些时间,掌握了这些技能,你将学会如何编写代码。

7、Spring实战 第5版

b0c3588e05205d9843d916c7ede8f28e.png

本书继续以众所周知的清晰风格,介绍了Spring 5的核心特性。你将亲自动手,逐步构建出一个安全的、以数据库作为支撑的Web应用。在这个过程中,你还将会探索反应式编程、微服务、服务发现、RESTful API、部署并掌握专家级的*佳实践。无论你是Spring的初学者,还是想要升级到Spring 5,本书都不容错过。

本书包含一下内容

  • ·构建反应式应用;
  • · 使用Spring MVC构建Web应用和RESTful Web服务;
  • ·使用Spring Security保护应用;
  • · Spring 5新特性。

8、C Primer Plus 第6版 中文版

73cccea62f234c38794701aac2a61e63.png

全书共17章。第1章、第2章介绍了C语言编程的预备知识。第3章~第15章详细讲解了C语言的相关知识,包括数据类型、格式化输入/输出、运算符、表达式、语句、循环、字符输入和输出、函数、数组和指针、字符和字符串函数、内存管理、文件输入输出、结构、位操作等。第16章、第17章介绍C预处理器、C库和高级数据表示。本书以完整的程序为例,讲解C语言的知识要点和注意事项。每章末尾设计了大量复习题和编程练习,帮助读者巩固所学知识和提高实际编程能力。附录给出了各章复习题的参考答案和丰富的参考资料。

9、软技能 代码之外的生存指南

d9143bcb282146a66eb0c49458e03e1e.png

嗨,我很开心你能挑选这本书。但是,没准儿你还正犯懵呢。这本书到底写的是什么?到底什么是“程序员必备的软技能”?这是一个很棒的问题,我来尝试着言简意赅地回答一下。

试着设想一下这种场景:这儿有一大堆好书,这本教你如何写出更好的代码,那本可以让你学习一种新的技术,那边几本是关于团队合作和项目运营的,或许你还可以找到几本讨论如何改善职业规划的,还有几本直接就是教你如何解答面试题目的。但是,你可曾看到过这样的一本书,告诉你如何成为一个比现在更棒的软件开发人员?

10、Python Cookbook(第3版)中文版

469a2bd522b71102a5f11bbc2b62c865.png

本书并非搜寻特定于Python 3方面的秘籍将其汇集而成,本书的主题都是在创作中由现有的代码和技术而产生出的灵感。我们将这些思想作为跳板,尽可能采用最现代化的Python编程技术来写作,因此本书的内容完全是原创性的。对于任何希望以现代化的风格来编写代码的人,本书都可以作为参考手册。

在选择应该包含哪些章节时,我们有一个共识。那就是根本不可能编写一本涵盖了每种Python用途的书。因此,我们在主题上优先考虑Python语言核心方面的内容,以及能够广泛适用于各种应用领域的常见任务。此外,有许多秘籍是用来说明在Python 3中新增的功能,这对许多人来说比较陌生,甚至对于那些使用老版Python经验丰富的程序员也是如此。我们也会优先选择普遍适用的编程技术(即,编程模式)作为主题,而不会选择那些试图解决一个非常具体的实际问题但适用范围太窄的内容。尽管在部分章节中也提到了特定的第三方软件包,但本书绝大多数章节都只关注语言核心和标准库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值