Java代码与架构之完美优化 实战经典

Java代码与架构之完美优化 实战经典 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
颜廷吉 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-05

类似图书 点击查看全场最低价

图书介绍

出版社: 机械工业出版社
ISBN:9787111515098
版次:1
商品编码:11788303
品牌:机工出版
包装:平装
开本:16开
出版时间:2015-10-01
用纸:胶版纸
页数:229


相关图书





图书描述

编辑推荐

适读人群 :软件开发人员及相关专业师生
  Java是目前的主流开发技术,如何更好地发挥其技术优势实现资源配置和获得更高商业价值,一直是Java技术发展的趋势。然而Java体系庞大、技术精深,如何写出优质代码,如何设计与优化系统架构,是高级开发者必须掌握的核心技术之一。本书所面向的读者主要是那些想在技术领域成为佼佼者的朋友:
  1.走在架构师之路上的工程师。
  2.希望提高自己代码质量水平的程序员。
  3.追求完美的技术爱好者。
  总之,无论是在校大学生还是刚刚走上工作岗位的新员工,无论是做编码的程序员还是做测试的技术人员,无论是架构师还是项目经理,都可以从本书中获得有益的收获。

内容简介

  虽然劣质代码一样可以运行,但是劣质代码的存在就会产生潜在bug,或者增加阅难度与理解困难,也增加了维护成本等不利影响,因此我们要追求高质量代码。编程,从内容上分析了拙劣代码的表现形式(现象),分析了其不利影响,给出了解决方案。同时给出了劣质代码的检查工具与方法,并汲取了Checkstyle、Findebug、PMD、Jtest等静态代码品质分析工具常见劣质代码现象。又利用常用的28种重构技巧,演示了代码由劣质变的过程。

作者简介

  颜廷吉,山东临沂人,毕业于北京大学软件与微电子学院,硕士学位。上海颐凡软件科技有限公司创始人兼首席架构师,高级系统工程师,“颐凡Java应用开发平台”软件著作权人,拥有PMP、OCP、LIP3等各种高级国际技术认证证书,日本国家高度人才。
  2007年就职于NTTDATA集团公司,任研发部主任,从事一线软件研发与设计近十年。曾经主导与参与了日本厚生劳动省HelloWork就职劳动项目、
  Taspo全国香烟自动贩卖项目、饮料自动贩卖机贩卖信息采集项目等大型系统的设计与研发,曾连续多年获得公司社长奖,项目奖等各种奖项。

目录


前言
第1章 代码质量 1
1.1 什么是代码质量 1
1.2 什么是软件质量 1
1.3 代码质量与软件质量 1
1.4 代码质量优化理论 2
1.5 提高代码质量手段 3
小结 3
第2章 代码质量静态检查工具 4
2.1 静态分析技术概述 4
2.2 静态分析技术原理 4
2.3 静态分析技术给我们带来的好处 5
2.4 常用重要静态分析工具 6
2.5 如何优化静态分析工具 6
小结 11
第3章 代码质量优化通用准则 12
3.1 避免使用空块 12
3.2 避免使用空类 15
3.3 去掉多余的import 16
3.4 剪切无效代码 17
3.5 制定命名体系规约 18
编程解密一:完美规约 20
优化技巧01:按照命名规约赋予名称 20
3.6 去掉重复代码 21
3.7 如何优雅使用switch语句 22
3.8 用大写“L”代替小写“l”定义long变量 24
3.9 避免在一条语句中声明或赋值多个变量 25
3.10 去掉控制标志的临时变量 26
优化技巧02:移除控制标志临时变量 27
3.11 避免赋予临时变量过多的角色 28
优化技巧03:赋予临时变量单一职责 29
3.12 避免使用魔法数字 29
优化技巧04:用常量取代魔法数字 30
3.13 在for循环内修正增量因子有什么弊端 31
3.14 用Enum代替Integer类型码常量 32
优化技巧05:用枚举取代类型码 34
3.15 用BigDecimal类型进行精确计算 35
3.16 避免混用“+” 36
3.17 避免混用复杂运算符 37
3.18 避免使用复杂条件式或分支 38
优化技巧06:用代码片段拆分复杂表达式 41
优化技巧07:用卫语句代替嵌套条件表达式 42
优化技巧08:用多态代替条件表达式 43
3.19 如何深入理解“= =”的真正含义 44
3.20 要习惯于用泛型代替原生类型 48
3.21 如何正确使用通配符的边界 53
3.22 如何发挥正则表达式的威力 55
小结 58
第4章 方法优化技巧 59
4.1 最小化原则 59
优化技巧09:封装类成员 60
4.2 hashCode()与equals()是个孪生兄弟 61
4.3 使用string.equals("String")带来的弊端 66
4.4 避免命名不具有继承关系的同名方法 67
4.5 检查参数的有效性 68
4.6 避免使用可变参数 69
4.7 如何优化过长参数 72
优化技巧10:把参数提升成类成员变量 73
优化技巧11:引入参数对象 74
4.8 为什么不要重写静态方法 75
4.9 避免使用过时的API 77
4.10 优雅的集合运算方法知多少 78
4.11 避免重复发明轮子 81
4.12 如何对臃肿的方法进行瘦身 82
优化技巧12:分解方法 84
优化技巧13:合并方法 85
小结 85
第5章 如何保证多线程代码质量 86
5.1 为什么不要重写start()方法 86
5.2 避免使用非线程安全的初始化方法 87
5.3 用final成员对象作为同期化对象锁 90
5.4 在synchronized内使用wait()方法 92
5.5 尽量缩小同期化代码范围 93
小结 94
第6章 如何优化类与接口 95
6.1 避免创建不必要的对象 95
6.2 避免使用对象的浅拷贝 96
6.3 如何正确放置静态区位置 100
6.4 为什么不要使用静态引入 102
6.5 如何正确使用instanceof 103
6.6 避免实例化特有工具类 106
6.7 避免有深度耦合的类关系 107
优化技巧14:移动变量 110
优化技巧15:移动方法 112
6.8 如何为臃肿的类进行手术 114
优化技巧16:分解类 116
6.9 如何优化冗赘类 117
优化技巧17:合并类 118
6.10 避免在接口中出现实现代码 119
小结 120
第7章 如何正确使用异常 121
7.1 避免定义继承Error或Throwable子类 121
7.2 避免抛出RuntimeException或Exception 122
7.3 避免捕获NullPointerException或Error 124
7.4 避免在finally块中处理返回值 125
7.5 避免使失败失去原子性 127
7.6 如何对异常进行封装 128
优化技巧18:用异常代替错误码 129
7.7 将优雅的异常信息反馈给用户 130
7.8 避免乱用异常 131
小结 133
第8章 如何优化代码性能 134
8.1 避免在大量字符串拼接时用“+” 134
8.2 避免在循环体内生成临时对象 135
8.3 在频繁插入与删除时使用LinkedList 137
8.4 在文件操作后要进行清理动作 139
编程解密四:完美改造 140
8.5 避免显示调用finalized()方法 142
小结 143
第9章 架构优化 144
9.1 单一职责原则 144
优化技巧19:梳理并分解类职责 145
9.2 接口隔离原则 147
优化技巧20:隔离接口 149
9.3 依赖倒置原则 151
优化技巧21:提炼接口 152
9.4 里式替换原则 154
9.5 最少知道原则 155
9.6 如何扩展外部类功能 159
优化技巧22:引入本地扩展 160
9.7 如何梳理混杂的架构体系 160
优化技巧23:以委托代替继承 165
优化技巧24:封装向下转型 165
优化技巧25:提炼继承体系 167
优化技巧26:折叠继承体系 169
小结 170
第10章 包优化 172
10.1 发布等价原则 172
10.2 共同重用原则 173
10.3 共同封闭原则 174
10.4 无环依赖原则 176
10.5 如何保持包的清晰 179
优化技巧28:规整包中类位置 180
编程解密五:完美优化 181
10.6 如何抽出框架层次 182
10.7 如何提取框架工程 183
小结 189
第11章 优良代码风格 190
11.1 如何优化代码格式工具 190
11.2 如何统一标准的代码格式 193
11.3 养成良好的代码注释习惯 194
编程解密六:完美突破 196
小结 198
结束语 199
附录 200
参考文献 229

前言/序言

  在武侠世界里,凡是顶尖的高手,要么是经历了一些奇遇偶得真传,要么就是经过几十年脚踏实地的修炼,才得以炉火纯青。虽然路不同,但他们最核心的修炼内容就是增强自己的内力。内功心法才是核心,因为剑法、拳法之类对聪明人来讲看一遍就会,而内力却很难速成。到达一定的境界后,武功就不分什么门派了,因为这都是融会贯通的。
  现实科技世界与武侠科幻世界同理,Java程序世界里也不乏顶尖高手,比如Bruce Eckel (《Thinking In Java》作者)、Joshua Bloch(Google首席Java架构师,《Effective Java》作者)、 Kent Beck(敏捷之父)、Martin Fowler(优化之父)等等。这些人之所以如此成功,并让追求者顶礼膜拜,并不是因为他们写了汗牛充栋的程序代码,而在于他们一出手就能展现绝顶高手的风范,写出令人拍案叫绝的高质量代码。因为这代表了他们的品牌与实力,他们会一直精益求精,不断优化,他们把自己的悟道——如何修炼内功秘籍——写成了书,就成了经典。
  程序员修炼内功心法的终极目标就是成为我们梦寐以求的架构师。众所周知的《Java编程思想》《Java高效编程》《敏捷软件开发》《设计模式》《优化》《人月神话》等巨著的核心内容之一就是教授这些内功心法,本书也正是作者多年修炼的总结。品质体现于细节,本书不但从宏观到细节进行了全面系统的介绍,而且形成了代码质量优化的理论与技巧体系,是进行代码优化不可多得的宝典。
  Java是目前的主流开发技术,如何更好地发挥其技术优势实现最佳资源配置和获得更高商业价值,一直是Java技术发展的趋势。然而Java体系庞大、技术精深,如何写出优质代码,如何设计与优化系统架构,是高级开发者必须掌握的核心技术之一。
  作者在Java技术领域从事一线工作十多年,其中8年时间是在东京度过的。日本的品质管理技术世界领先,作者来日之前就下定决心要掌握日本先进品质的相关技术,报效祖国——师夷长技以制夷!在这期间作者指导过NTT、日立、富士通等日本一流IT开发公司主导的大型商业项目(国家就业劳动项目、全国饮料以及香烟自动贩卖机贩卖信息统计项目等)的研发与代码优化,也使得作者有机会与日本一流架构师交流及研究他们独有的架构与质量优化技术之奥妙。
  学生时代的我们,所学到的是基本的技术理论知识;就业后作为初级程序员的我们,几乎不能胜任商业项目的质量要求标准,不能适应技术的深度与广度,即使能够完成的编码,也只是仓促地完成任务;经过3~5年磨练后的我们,回想以前写的代码,就会意识到当时写的代码是那么的不优雅!是的,根据作者实战经验,也根据通用的8020法则,按照要求写出可运行代码,只是完成了80%的工作,另外20%的代码持续优化工作,往往被大家忽略了。代码优化是一个综合的系统体系,包含的内容很多,本书将把最核心的部分进行剖析并分享给读者。
  本书从实际策划到完成书稿历时近2年,这期间作者一直不断吸收、整理、优化、提炼其内容。在Java世界里编写高质量代码并非易事,各种开源代码检测工具也对各种技术细节进行了规定,Checkstyle里有134项,FindBugs里有408项,PMD里有368项,Jtest里大概有1000项,面对这么多的规则,可能有人会说这还怎么下手写代码啊?是的,学习与研究这些枯燥无味的规则估计就要花掉很多时间,而且即使学习了也不一定能记住,况且有些规则是站在技术研究者的角度而做出的,在实际商业上根本用不到。基于实用原则,作者从这些代码检查规则中提炼了经典内容,吸收了日本代码优化培训以及品质管理培训内容精华,深入研读了本书参考文献里所列的书籍以及网络上各种资源,并结合本人多年的实战经验,提取出了100个有代表性的经典优化实战案例,本书素材来源如图1所示。后来又经过进一步分析整理,精选了最有代表性的77个案例,希望读者可以用最少的时间学到最有价值的代码优化技术。
  图1 本书素材来源
  本书与软件质量
  故事一:完美我们做得到么?
  曾经有一家美国公司到日本一家小企业定制了10000件某种电子产品部件,要求次品率是1/1000。这家企业在规定的时间内邮寄去了产品,美国公司产品部打开一看,有些吃惊—怎么有两个盒子?一个大的,一个小的?再打开一看,大的里面放满了产品,同时有一个说明:全部合格产品9990件;另外一个小盒里放的是什么,大家就不言自明了。
  感悟:100%的合格就是一种完美,我们能做到么?日本之所以在软件行业乃至其他很多行业都做得如此出色,很重要的一点就是因为质量做得绝对世界第一。而我们国家则基本是粗放型经济,无论从对产品质量的认识程度,还是产品质量的管理方法,都离日本尚有一段很大的距离。希望本书的问世可以缩小这段距离。
  软件质量(品质)包含的内容在我们规划的教程体系中,分为开发篇和管理篇,前者就是本书所包含的内容。
  谈到代码质量,首先要辨析什么样的代码是劣质代码,什么样的代码是优质代码,可以用哪些工具自动检测劣质代码,以及如何把劣质代码转化成优质代码,本书将带领读者一起解析。
  物皆有其位,而后物尽其位。世道乱了,就要治理,使其有序。同理,Java世界里有很多保留字,如果在保留字所控制区域里写有不合理的代码,那么将会给软件带来灾难性的后果。因此,每段代码都应该在其所在的位置——如果不在其位,那就需要优化。优化是确保代码质量的重要手段之一。本书不但系统展示了常见劣质代码,而且总结了28种常用优化技巧,并给出了优化的具体步骤,向读者演绎了从劣质到优质的变化过程,可谓理论与实践的最佳组合。
  一个项目的成功不仅仅是靠某一个程序员的能力,而是项目团队的默契配合与努力的结果。要保证全体开发人员统一的编程风格与代码质量,就需要有编程规约来进行思想统一。虽然已有很多论述编程规约的文章,但要么太钻牛角尖、太偏理论化了,要么太粗浅、不够精细,没有太大实际商业价值。本书附录里给出的Java编程规约、JSP编程规约、CSS编程规约是作者经过多年实战经验所总结的,可以直接应用到项目中,提高软件质量。
  无规矩不成方圆,任何商业系统,都应该坚持遵循工业标准。本书是优质代码编写规范的提炼与总结,也可以作为评判优秀代码的标准之一。违反了本书所介绍的规则之代码,需要根据项目实际情况进行优化,以提高代码与软件的质量。
  本书与软件架构师
  一款软件的最终体现就是代码,而作为软件架构师,如果没有代码优化的意识与技术,就不能称之为软件架构师。任何合格的软件架构师,必须对代码优化的概念与技术烂熟于胸,信手拈来。一个连代码质量都不能控制好的架构师所设计的架构是不会有人信任的。
  本书囊括了作者多年编程经验总结出的六项编程密技:完美规约(架构大于编码)、完美视角(设计者角度)、完美利用(站在巨人肩上)、完美改造(快速编码)、完美优化(高质量代码)、完美突破(架构师之路),这六项密技是完美编程的精髓,亦是完美编程的指导思想与灵魂。本书的目的不仅仅是“授人以鱼”更要“授人以渔”——提高读者的编程及优化能力,而这种能力正是架构师的必备技能。
  本书是IT365学院网站软件架构师系列培训教程体系中的基础读本,属于品质管理实战部分的内容,是培养具有高质量代码技术水平的优秀架构师所必备的利器之一。优秀的代码品质是程序员走向架构师神圣殿堂的必经之路,本书将是这条路上的一盏明灯,帮助读者早日实现架构师之梦。
  本书与翻转课堂模式
  翻转课堂(The Flipped Classroom),是2011年在美国兴起的新型教学模式。与传统的课堂教学模式不同。在“翻转课堂”教学模式下,学生课下完成知识的学习,而课堂变成了老师与学生之间和学生与学生之间互动的场所,包括答疑解惑、知识的运用等,从而达到更好的教育效果。教与学颠倒,即翻转课堂,它颠覆了传统意义上的课堂教学模式。
  本书充分参考了“翻转课堂”模式,在内容安排上,对于每一个案例,都是先展示劣质代码(优化前代码),也是有意让读者自己研究其瑕疵在哪里;之后给出优质代码(优化后代码),进一步让读者感受优质代码带来的效果;最后给出从劣质到优质演化过程的解析。这样在阅读技巧上进行了革新,可以让读者更好地吸收与理解本书精华。
  本书配套源码
  本书的配套源码以及其他模板文件可以在www.365itedu.com(本书官网)下载。
  在源码资源里,例如best0101包下面的代码为优化前的劣质代码,一般类的命名为Before,测试代码类的名称为BeforeTest;而best0102包下面的代码为经过优化后的优质代码,一般类的命名为After,测试代码类的名称为AfterTest,如图2所示。所有代码均是可执行代码,读者可以随时运行查看优化前后执行效果。
  图2 源代码说明
  书中所选用代码比较简单,并对相对复杂的代码进行了背景说明。读者在学习过程中,可以自己先琢磨劣质代码的瑕疵在哪里,自己是否可以发现?可以用哪些手段来发现?如何优化?带着这些问题阅读本书,会达到更好的学习效果。
  本书配套教学视频
  传统教育模式中对程序设计的教学方式大多已经落伍,这使得学生在真正进入社会就业前不得不再进行二次培训;而现在社会上的培训机构也是鱼龙混杂,培训的内容很多也只是基础的入门级别。因此,需要一套从实际项目研发中提炼而出的、具有实际价值的、拿来就能用的、同时具有前瞻技术设计与研发引导性的高级软件架构师培训教程。本书配套培训教程与教材同步出炉,可以帮助读者更好、更轻松地学好本书的精髓。配套培训教程也可以到365IT学院下载。
  本书特色
  1.内容精炼、超值:作者将十多年一线实战心得倾情奉献——说代码之美是重实用,讲架构优化是接地气。
  2.授人以鱼,不如授人以渔:作为编程指导思想与灵魂的六项密技,可全面提高读者自身的编程与代码优化能力。
  3.案例驱动,脚踏实地:不讲单独代码片段,而是以案例驱动(根据实际商业代码提炼之后的可运行代码)进行实战解析;不仅仅是经验与理论的总结,更重要的是用最直接的案例代码来说明技术应用方式。
  4.图解技术,形象生动:利用图解方式避免了乏味难懂的文字描述,使繁冗复杂的事物一目了然,是对理论进行深刻理解的形象记忆。“图+代码”是技术学习的最佳方式。
  本书所面向的读者
  故事二:敬业之神
  敬业之神——野田圣子。
  她37岁就当上了日本内阁邮政大臣。
  她的第一份工作是刷厕所:她把厕所刷得光洁如新,一尘不染,她直接把冲厕所的水舀一勺一饮而尽,来证明其工作质量。
  她有一句名言:就算这一辈子都在洗厕所,也要当个最出色的洗厕人。
  敬业之神的启示:通过不断修炼内功,不断优化,刷厕所都可刷成行业的佼佼者!高端的品质目标,究极的爱业敬业态度,给予了我们极大的心灵震撼与鼓舞!——想出人头地么?想有所成就么?那么把一件事做好,把其品质做到极致,就成功了!
  本书所面向的读者主要是那些想在技术领域成为佼佼者的朋友:
  1.走在架构师之路上的工程师。
  2.希望提高自己代码质量水平的程序员。
Java代码与架构之完美优化 实战经典 下载 mobi epub pdf txt 电子书 格式

Java代码与架构之完美优化 实战经典 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

Java代码与架构之完美优化 实战经典 下载 mobi pdf epub txt 电子书 格式 2024

Java代码与架构之完美优化 实战经典 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

挺实用的,只是没基础的人,帮助不大,不过有基础的话,还是很推荐的

评分

不好

评分

京东自营值得信赖,好东西没商量!

评分

很适合Java学习的基础书籍 买了感觉不亏

评分

应该是正版,包装不错!

评分

正版图书!快递得力

评分

名字取得很牛逼,全是基础的东西,适合入门级学习,不值这个价钱

评分

包装还可以,还没开始看内容

评分

不错

类似图书 点击查看全场最低价

Java代码与架构之完美优化 实战经典 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.teaonline.club All Rights Reserved. 图书大百科 版权所有