我已经阅读了自己的软件开发书籍,并且发现发现一本我想多次阅读的书籍非常罕见。

但是,有时我会发现一本书,每次阅读时都会教给我新的东西。 这篇博客文章是对这些稀有宝石的致敬。

现在,我毫不犹豫地向您介绍十本书,这些书在我的书架上都占有特殊的位置:

  • 干净的代码:Robert C. Martin撰写的敏捷软件技巧手册,教给您三件事:如何编写好的代码,如何区分好的代码与坏的代码之间的区别以及如何将坏的代码转换为好代码。 这些是每个开发人员必不可少的技能。 这就是为什么您应该读这本书的原因。
  • 设计模式:Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides的可重用的面向对象软件的元素是一个真正的经典。 它为常见的设计问题提供了优雅的解决方案。 如果您想学习编写优雅的面向对象的代码的基础知识,这是您应该阅读的书。
  • 领域驱动的设计:埃里克·埃文斯(Eric Evans )着《解决软件核心的复杂性》是一本面向想要了解如何将领域专家的知识转化为有用的领域模型的开发人员的书。 如果您发现经常找不到“业务逻辑”的自然位置,则应该帮自己一个忙,阅读本书。
  • Joshua Bloch撰写的Effective Java是一本无需介绍的书。 如果您想编写更强大的Java代码,则有78种理由来阅读这本书。
  • 有效的单元测试:Lasse Koskela的Java开发人员指南是Lasse Koskela的第二本测试书,它可以帮助您提高测试套件的质量。 阅读本书有助于我编写更简洁,更可维护的测试。 我想您可以说这本书帮助我认识到,如果测试没有表达每个测试的意图,那么它们就毫无价值。 我认为这是一个宝贵的教训,因此您也应该阅读这本书。
  • Martin Fowler撰写的企业应用程序体系结构模式的标题很“无聊”,但您不应该让它吓到您。 阅读本书可以使我更好地了解我每天使用的“企业”框架的基本构建模块。 如果您想了解自己的工具,则应该阅读这本书。
  • 重构:Martin Fowler改进现有代码的设计是另一个永恒的经典。 它描述了40多种不同的重构,可用于改进现有代码的设计。 每个软件开发人员都应该具有良好的重构技能,阅读本书将使您更进一步地实现这一目标。
  • SQL反模式:避免数据库编程的陷阱Bill Karwin写的这本书对使用关系数据库的所有开发人员都非常有用。 本书可帮助您避免最常见的设计反模式,查询反模式和应用程序开发反模式。 老实说,我必须承认我犯了本书中描述的一些错误。 这就是为什么我非常高兴能阅读并了解如何避免将来犯同样的错误。
  • Markus Winand解释的SQL性能承诺将教会您有关SQL性能所需的一切知识。 这是一个非常大胆的标语, 当我意识到这本书信守诺言时,我很高兴。 我认为您应该读这本书有两个原因:证明关系数据库并不慢,并且它解释了如何使SQL查询尽可能快地进行(它们可以比您想象的要快)。
  • 测试驱动:TDD和验收Lasse Koskela编写的Java开发人员TDD是我读过的第一本测试书,这就是为什么它在我心中占有特殊的地位。 这是对TDD的很好的介绍,但是即使您不是TDD的狂热者,您也可以从本书中学到一些测试技巧。 这就是为什么这本书是您书架上很好的补充。

该列表基于我的(主观)观点,您的列表很可能看起来会完全不同。 如果您认为我错过了应该在此列表中的书,请在评论部分分享您的意见。

翻译自: https://www.javacodegeeks.com/2014/04/10-books-every-java-developer-should-read.html

每个Java开发人员都应该阅读的10本书相关推荐

  1. java开发人员_每个Java开发人员都应该阅读的10本书

    java开发人员 我已经阅读了自己的软件开发书籍,并且发现发现一本我想多次阅读的书籍非常罕见. 但是,有时我会发现一本书,每次阅读时都会教给我新的东西. 这篇博客文章是对这些稀有宝石的致敬. 现在,我 ...

  2. java 开发人员工具_每个Java开发人员都应该知道的10个基本工具

    java 开发人员工具 大家好,我们已经到了2019年的第二个月,我相信你们所有人都已经制定了关于2019年学习以及如何实现这些目标的目标. 我一直在撰写一系列文章,为您提供一些知识,使您可以学习和改 ...

  3. 每个Java开发人员都应该知道的10个基本工具

    大家好,我们已经到了2019年的第二个月,我相信你们所有人都已经为2019年的学习目标以及如何实现这些目标制定了目标. 我一直在撰写一系列文章,为您提供一些知识,使您可以学习和改进以成为2019年更好 ...

  4. 正在搜索开发人员模式安装包_每个 Java 开发人员都应该知道的 10 个基本工具...

    大家好,我们已经在 2019 年的第 9 个月,我相信你们所有人已经在 2019 年学到了什么,以及如何实现这些目标.我一直在写一系列文章,为你提供一些关于你可以学习和改进的想法,以便在 2019 年 ...

  5. java相关段子_为什么Java开发人员都带眼镜 | 程序员搞笑段子合集

    劳工节小长假愉快! Enjoy! 01 如何区分HTML和HTML5? 用IE打开,打不开吗?那就是HTML5没错了. 02 程序员为什么放弃斗争呢? 因为他没有兵(array)啊. 03 数据库SQ ...

  6. java开发错误_每个Java开发人员都必须避免的9个安全错误

    java开发错误 Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全漏洞:源代码. 在这里查看 ! 自从1995年中期引入Java以来 ...

  7. 每个Java开发人员都必须避免的9个安全错误

    Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全缺陷:源代码. 在这里查看 ! 自从1995年中期引入Java以来​​,它已经走了很 ...

  8. 为什么Java开发人员都带眼镜 | 程序员搞笑段子合集

    Enjoy! 01 如何区分HTML和HTML5? 用IE打开,打不开吗?那就是HTML5没错了. 02 程序员为什么放弃斗争呢? 因为他没有兵(array)啊. 03 数据库SQL走进了一家NoSQ ...

  9. 为什么推荐 Java 开发人员都学习并使用 Kotlin?

    我使用 Java 已经有很长的时间了,工作中的使用有15年.如果算上在学校的时间的话,那就更长了.Java 的一个很大的优势是平台的开放性.这得益于 Java 字节代码和虚拟机的存在.由于 Java ...

最新文章

  1. Xamarin.Android开发实践(十八)
  2. visual studio xcopy /exclude测试
  3. SAP Spartacus central configuration - B2cStorefrontModule
  4. 《Python Cookbook 3rd》笔记(4.11):同时迭代多个序列
  5. React使用antd Table生成层级多选组件
  6. Widows核心编程第一章:错误处理
  7. java同步list_Java集合--ArrayList出现同步问题的原因
  8. 解决remix在线编译器连接本地私有链环境不成功的问题
  9. phpnow 更改mysql data文件夹路径
  10. 前端中怎么把网页多个文件夹的内容整合成一个_web前端学习笔记
  11. Android MVP开发模式及Retrofit + RxJava封装
  12. 知识兔课程揭秘2021抖音卖货代运营的新骗局,你中招了吗?
  13. 关于XAMPP Apache 启动失败的问题
  14. 真·007!核酸采样机器人现身郑州;Python3面试准备与速查表;实时语音转文字工具库;AI绘画根据文本创建纹理;前沿论文 | ShowMeAI资讯日报
  15. vm centos火狐找不到服务器
  16. AI作诗:诗三百·人工智能诗歌写作平台
  17. 素材网下载图片要 VIP ? 不存在的
  18. LS-WXL/E改机应用流程全攻略(改机+下载工具安装)
  19. Ubuntu好用的截图软件推荐
  20. 仿小米增加短信的收藏功能

热门文章

  1. 常见的时间复杂度函数
  2. 整合Druid---SpringBoot
  3. 开发app用户协议_APP软件开发如何让用户更开心地付钱?
  4. jvm(6)-Class字节码文件结构总结
  5. 程序中抛出空指针异常_从Java应用程序中消除空指针异常
  6. jsr 269 api_研究Java 9 Money and Currency API(JSR 354)
  7. OCA第4部分中的Java难题
  8. 如何在Flutter(REST API)中进行API调用
  9. 检查两个列表在Java中是否相等
  10. 使用Gradle – 2019版从Travis可靠发布到Maven Central