昨天看了一篇文章《细思极恐,你真的会写Java吗》这是链接https://mp.weixin.qq.com/s/DycPiC-aE31vX-e8YYdkEA
看完之后感触很大,也做了两年开发了,感觉自己并不会写Java。
遇到不会的地方不是在项目中找找别的模块拿来用,就是去百度别人的。现在想想这真的是码奴做的活啊,拿来就用,也不考虑其中的原理,用过之后就忘了,下次还是如此重复,两年下来感觉自己在技术这方面进步甚微,这篇文章给了我很大的启发,从今天开始我要一改往日的学习习惯,作者说的许多方法我感觉对我很实用,给迷茫中的我帮助很大,我简单整理一下。
1.关于开发工具,idea;
2.关于包的命名:com.xxx.entity.一本参考书:Vaughn Vernon出的一本叫做《IMPLEMENTING DOMAIN-DRIVEN DESIGN》(实现领域驱动设计)这本书,书中讲解了贫血模型与领域模型的区别,相信你会受益匪浅.
3.DTO以及转化
4.review code
5. bean的验证
6.拥抱lombok
7.静态构造方法
8.使用Builder模式,可以看一下《Head First》(设计模式) 的建造者模式
9.代理模式
10.思考与重构
我相信这个需求看似很简单,无论怎么写都可以完成。
很多人可能看到这个需求,就动手开始写Calendar或Date进行计算,从而完成需求。
而我给的建议是,仔细考虑如何写代码,然后再去写,不是说所有的时间操作都用Calendar或Date去解决,一定要看场景。
11.UML
不想多讨论UML相关的知识,但是我觉得你如果真的会写java,请先学会表达自己,UML就是你说话的语言,做一名优秀的java程序员,请至少学会这两种UML图:
-
类图
-
时序图
12.clean code
我认为保持代码的简洁和可读性是代码的最基本保证,如果有一天为了程序的效率而降低了这两点,我认为是可以谅解的,除此之外,没有任何理由可以让你任意挥霍你的代码。
-
读者可以看一下Robert C. Martin出版的《Clean Code》(代码整洁之道) 这本书
-
可以参考美团文章聊聊clean code
-
也可以看一下阿里的Java编码规范
无论如何,请保持你的代码的整洁。
13.linux 基础命令
这点其实和会写java没有关系,但是linux很多时候确实承载运行java的容器,请学好linux的基础命令。
-
参考鸟哥的《Linux私房菜》