藏经阁2.0全新上线!下载本地、线上阅读让你轻松获取技术知识。为了让更多人学习到藏经阁中的优秀技术作品,培养好的阅读习惯,“藏经阁一起读”活动来啦,你阅读,我奖励!
本期书籍:《Java工程师必读手册》
阅读地址:https://developer.aliyun.com/ebook/7780
书籍简介:工匠追求“术”到极致,其实就是在寻“道”,且离悟“道”也就不远了,亦或是已经得道,这就是“工匠精神”——一种追求“以术得道”的精神。 如果一个工匠只满足于“术”,不能追求“术”到极致去悟“道”,那只是一个靠“术”养家糊口的工匠而已。作者根据多年来的实践探索,总结了大量的Java编码之“术”,试图阐述出心中的Java编码之“道”。
活动规则:阅读书籍,将你对于本书的想法、收获等在评论区留言,评论不少于200字,将选取评论质量最高的前3名送出ET勋章一个。
活动时间:2022年10月24日~10月31日14:00
参与用户务必扫码加入钉群,第一时间了解活动进展、获取得奖信息。
古时之人每日参佛念经以求悟道,今时之人,追求术之极致,以求悟道,道理想通,做法相似也。作为一个技术人,不能只满足于完成业务代码的罗列,而失去了不断学习不断进取,失去了一心悟道的精神,那么最终是难以达到术之极致。
《Java工程师必读手册》真的是Java工程师必读手册,里面内容的详尽,不管你是几年工作经验的人,看了都会觉得真的是用心悟道所做,不管什么人,能做到如此,必然是会有一番作为的。这本书内容很详细,这里我带大家简要感受一下,后面希望大家下载细读。
经验之谈 经验,往往都是从过去的不断工作中,不断尝试,不断出错,不断解决bug总结出来的经验,可以说是血淋淋的经历,多读书,多读这本书,许是真的能帮助很多初入者少走许多弯路,比如说==比较、equals比较、三元表达式问题、泛型对象赋值、复制问题、变量相关问题等,这些问题可不能小看,因为这些问题一旦出现,排查起来都比较难发现,所以要在开发时就多注意,提前规避风险。 开发过程中也要牢记SpringMVC三层结构表现层、业务层、持久层,每一层专注处理每一层的逻辑,不要穿插,比如表现层加业务逻辑、持久层加业务逻辑等,这样不但使代码可读性、可维护性变差,还不利于排查问题。 再有就是系统的搭建是否选用分布式系统,应取决于实际业务量,而不是一味追求高大上,增加系统维护成本;在使用多线程的过程中,要注意多线程可能存在的数据不一致问题;在设计业务流程时,不能反人类设计,要注意流程的合理性;系统之间数据交互要科学,不能多系统操作一个数据表,可以改造为同步接口调用或者异步消息通知的方式实现数据一致;在数据查询时要注意分页,不能无分页查询,数据量太大往往查询超时。
编程技巧 在说了编程过程中可能遇到的问题以及开发习惯之后,那么就该讲讲技巧了,俗话说熟能生巧,便是如此。重构方法,就是说在不改变原始方法的功能基础上调整代码结构,提高代码质量,提高代码的可读性,优化代码性能等,比如当你遇到一个方法很长的时候,读起来简直要命的那种,你是否想到重构方法,提高代码可维护性呢?如果想要追求术之极致,那你就必须要硬头皮重构了它,每一次重构都是你对业务对代码性能的一次深入接触,只有精研修术,你才能不断向悟道前进,书中关于重构有很多种方法,可以详细阅读,只有多读多想多研究,术才可达极致,加油。 关于编程技巧之数据结构方面的内容,比如日常开发中使用HashSet判断主键是否存在,可以使用HashMap存取键值映射关系,可以使用ThreadLocal存储线程专有对象,例如分页参数,可以用enum关键字实现的枚举类型,方便取值以及通过使用泛型来屏蔽类型的差异性等。
单元测试 单元测试其实就是把“复杂的问题要简单化”——即把一段复杂的代码拆解成一系列简单的单元测试用例;写好Java单元测试用例,其实就是把“简单的问题要深入化”——即学习一套方法、总结一套模式并应用到实践中。单元测试做得好,那么你的代码的质量就会好很多,那么如何编写单元测试呢?推荐使用Mockito单元测试模拟框架,当Mockito提供的功能不能满足需求时,采用PowerMock提供的功能,需要提前引入pom文件jar包,说实在的,过去的单元测试个人用的不是太好,最多也就用junit,但是看了本书之后,以后决定用Mockito和PowerMock了,真的是很方便很好理解,单元测试流程清晰,结果明确,测试方法多重,书中通过不同方案举例说明,可以说即使你是第一次看到通过Mockito单元测试模拟框架来进行单元测试,那么你也很容易学会了。 在单元测试中,通常需要处理冗长的参数冗长的返回值,那么利用JSON反序列化,简化模拟方法参数值、返回值,精简原来冗长的验证语句,让你的单元测试轻量起飞;但是在测试过程中需要对测试用例和资源文件进行规范化命名,从而更好利用JSON序列化技巧,实例举证验证规范化命名的好处,随后又以Fastjson为例介绍JSON反序列化的技巧以及JSON 结合Mockito的妙用。
极客主义 极客主义也就是说技术人追求术到极致,其实就是在寻道,java技术人追求精简之道,通过利用语法、注解的方式、泛型以及自身的方法,比如类的构造方法、set的add方法避免contains判断以及工具方法、数据结构、stream方法、设计模式等来使自己的代码更精简更优雅。 除了精简之道,再有就是要让你的程序更高效,比如new对象滥用、数据类型自动拆箱装箱、尽量不要在循环体外定义变量、禁止使用JSON转化对象、尽量不使用反射赋值对象、尽量避免定义不必要的子类,同时在方法返回值上避免自动拆箱装箱、协议方法返回值非空,避免不必要的空指针判断、尽量避免不必要的函数封装,在调用上尽量减少方法的重复调用等其他开发中会经常用到的方法、类、常量、变量等方便的高效的建议,真的很详细很有价值。 代码除了要精简、高效,当然还要优雅,这才是悟道之路。比如多使用通用工具函数、拆分超大函数、同一函数内代码块级别尽量一致、封装相同功能代码为函数、封装获取参数值函数、通过接口参数化封装相同逻辑、减少函数代码层级、尽量避免返回的数组和列表为 null等,通过详细的正反举例来阐述代码优雅之道,详细详尽,真的是java开发者必备手册,哈哈。
写在最后,《Java工程师必读手册》不管是对于初入职场的技术人还是混迹职场多年的技术人,特别是像我这样平常不知道如何总结的技术人来说,真的是启明灯之作,非常值得一读的一本书,电子版很方便,随时随地可读,多读几遍,同时你在以后的工作中多实践书中所提到方法,那么你的技术水平,代码质量,代码效率,代码可读性,代码可维护性都会是质的提升,一起加油吧,各位技术人,悟道之路不孤单,推荐阅读手册,地址 https://developer.aliyun.com/ebook/7780
本人今年大四,正是准备踏出校园的一个时期,对于编程有着极大的兴趣。在看到《java工程师必读手册》之后有着颇深的感悟。书籍第一章内容“java经验之谈系列”分了四个小节,可以说是对编程中以及编程人员会遇到的问题做了一个讲解以及如何写好代码,代码在外面更多的是ctrl +c 和ctrl + v,利用框架等工具用更少的操作做更多的事情,就像JQuery中的write Less,Do More。但是一个资深的程序员其实需要的是更多地自身代码,不断的对代码进行改进和升级。谁不想拥有一套自己的专属呢?第二章讲到编程技巧在我看来也是挺触动我的,可以说是如何成为一名优秀的程序员,良好的编程习惯也是一种精神的体现。就好比后端和前端的区别。后端根本不需要一些华丽的装饰,一屏幕的代码摆在眼前的时候所有的装饰都显得那么的杂乱,此时需要的是更多的工具来对代码进行管理。程序员的发展就好像游戏英雄升级一般,好像动漫追求大道机缘一般,不停的对自身进行升级改造,但是原本的基础是不能忘得,我们都是站在巨人的肩膀上看世界。
作为一个大四Java求职狗刚好看到这本书,本着又可以参加活动又可以提升一下Java技术的心理我打开了这本书,不得不说真的有吸引到我,从一开始带一点古风的入门让我好像回到了看《Java百炼成仙》的时候,继续看下去能明显的感觉到书中的内容都是和平时开发总息息相关的小细节,并且加以整理的更具有标准化,从经验、技巧、测试到最后的极客主义一点一点的深化,从概念到思想再加上代码的展示,让整本书看起来不会那么枯燥和难以接受,相比传统的Java类书籍对我来说真的非常的易读,在现在这个知识爆炸的时代,大多数人选择快节奏的短视频来接受新知识,但是当看到一本成体系的书并且将他看完后的感觉是通过看短视频完全获得不到的快乐,没有过多的篇幅反而更能让我接受,也从中重新获得了很多的知识以便我面对后面的求职,总体来说这本书比较适合像我这样的初学者,我也会推荐身边的朋友来阅读。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。