你真的会写代码吗

你真的会写代码吗

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

1个示例,7次重构,助你辨别优劣代码。

内容简介

本书的核心思想是通过对各方面的代码质量进行比较,使读者了解经验丰富的开发者拥有的思维模式。为了展示软件开发最佳实践,作者对一个水容器示例进行多次重构,讨论了18种实现,分别从7个方面改进代码质量:时间效率、空间效率、监控与可靠性、测试与可靠性、可读性、线程安全、可复用性。在此过程中,作者还探讨了与计算机科学、Java编程以及软件工程相关的专业话题,这些知识都有助于读者写出更好的代码。

作者简介

作者马尔科.法埃拉(Marco Faella),意大利那不勒斯费德里克二世大学副教授,面向本科生和研究生讲授高级编程、软件工程、面向对象设计、编译器与程序分析、游戏设计等课程,同时为信息技术从业者开发和讲授Java编程课。

另外,他也是爱思唯尔、施普林格等旗下期刊的审稿人。

章节目录

版权信息

前言

致谢

关于本书

关于封面

第一部分 准备工作

第1章 软件质量和待解决问题

1.1 软件质量

1.2 主要的外部软件质量

1.3 主要的内部软件质量

1.4 软件质量之间的关系

1.5 特殊的质量

1.6 演进示例:水容器系统

1.7 数据的模型和表示

1.8 你好,容器(Novice)

1.9 小结

1.10 扩展阅读

第2章 Reference的实现

2.1 代码(Reference)

2.2 内存需求

2.3 时间复杂度

2.4 学以致用

2.5 小结

2.6 小测验答案和练习答案

2.7 扩展阅读

第二部分 软件质量

第3章 速度的要求:时间效率

3.1 常数时间内完成加水(Speed1)

3.2 常数时间内添加连接(Speed2)

3.3 最好的平衡:并查集算法(Speed3)

3.4 比较各种实现

3.5 来点儿新鲜的

3.6 真实世界的用例

3.7 学以致用

3.8 小结

3.9 小测验答案和练习答案

3.10 扩展阅读

第4章 宝贵的内存:空间效率

4.1 稍微挤一下(Memory1)

4.2 普通数组(Memory2)

4.3 弃用对象(Memory3)

4.4 黑洞(Memory4)

4.5 空间和时间的权衡

4.6 来点儿新鲜的

4.7 真实世界的用例

4.8 学以致用

4.9 小结

4.10 小测验答案和练习答案

4.11 扩展阅读

第5章 有自我意识的代码:通过监控实现可靠性

5.1 契约式设计

5.2 基于契约设计水容器

5.3 检查契约的容器(Contracts)

5.4 检查不变式的容器(Invariants)

5.5 来点儿新鲜的

5.6 真实世界的用例

5.7 学以致用

5.8 小结

5.9 小测验答案和练习答案

5.10 扩展阅读

第6章 别对我撒谎:通过测试保证可靠性

6.1 测试的基本概念

6.2 测试水容器(UnitTests)

6.3 可测试性(Testable)

6.4 来点儿新鲜的

6.5 真实世界的用例

6.6 学以致用

6.7 小结

6.8 小测验答案和练习答案

6.9 扩展阅读

第7章 让代码说话:可读性

7.1 关于可读性的一些观点

7.2 结构性的可读性特征

7.3 外部可读性特征

7.4 可读的容器(Readable)

7.5 可读性的终极思考

7.6 来点儿新鲜的

7.7 真实世界的用例

7.8 学以致用

7.9 小结

7.10 小测验答案和练习答案

7.11 扩展阅读

第8章 多个厨师一锅饭:线程安全

8.1 线程安全面临的挑战

8.2 处理死锁

8.3 线程安全的水容器(ThreadSafe)

8.4 不可变性(Immutable)

8.5 来点儿新鲜的

8.6 真实世界的用例

8.7 学以致用

8.8 小结

8.9 小测验答案和练习答案

8.10 扩展阅读

第9章 请重复利用:可复用性

9.1 确立边界

9.2 通用框架

9.3 一个通用容器的实现

9.4 通用的考虑

9.5 复原水容器(Generic)

9.6 社交网络的帖子

9.7 来点儿新鲜的

9.8 真实世界的用例

9.9 学以致用

9.10 总结

9.11 小测验答案和练习答案

9.12 扩展阅读

附录A 代码高尔夫:简洁性

A.1 我能想到的最短代码(Golfing)

A.2 扩展阅读

附录B 终极水容器类

B.1 提高可读性

B.2 提高可靠性

列表:每一章中主要的类

作者简介

你真的会写代码吗是2021年由人民邮电出版社出版,作者[意大利] 马尔科.法埃拉。

得书感谢您对《你真的会写代码吗》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
Java架构师指南 电子书
知名Java专家多年经验总结,介绍从程序员进阶到架构师需要具备的技能的完整教程 基于Java官方API的解读,从架构师的独特角度讲解Java知识和技能 企业级开发的经典示例,全程项目驱动,涵盖电商支付接口的综合调试 程序员走向架构师是必经之路。本书基于Java官方API进行解读,从架构师的角度讲解Java知识和技能,并从搭建虚拟机开始,学习常用的Linux命令,力争使程序员能在较短的时间内成功迈入架构师的殿堂。 近年来编程领域的知识愈加丰富,使广大程序员应接不暇。如何在有限的时间内高效学习是一个棘手的问题。本书作者根据自身的丰富经验,精选了Java中必须掌握的核心技能,并以项目为驱动,循序渐进,详细讲解了企业级项目和电商平台,让读者在学习知识的同时以实战加深印象,可谓是高屋建瓴。 如何能在短时间内达到架构师的水平?面对难以入手的海量知识,读者往往一头雾水,相信通过阅读本书,每位读者都能从中找到答案。
VMwarevSphere6.0虚拟化架构实战指南 电子书
本书语言通俗易懂,可操作性强,适用于VMware vSphere 6.0虚拟化架构管理人员,并可作为VCP 6考试的参考资料。
数据结构(Java语言描述) 电子书
提供大量应用案例、有针对性的实训任务和综合项目实训,既方便教学又方便自学。
企业级云原生架构:技术、服务与实践 电子书
基于多年的大型项目架构设计实践经验,紧贴主流技术趋势,深入浅出介绍云原生相关技术及产品。
微服务分布式构架开发实战 电子书
本书语言简洁,内容丰富,适合具备初级Java后端开发能力的开发人员,大中专相关专业师生,网站培训班学员,以前拥有单工程开发经验并且想尝试分布式微服务架构的人员。 · Java工程师 · 初级架构师 · 大中专院校相关专业师生 · Java培训班学员 · 独立开发者与自学读者