这两天工作压力较小,简单聊聊从事Java开发一年的一些小总结吧。班门弄斧,还请大佬多多指导意见。
之前从硬件转行到了软件,也是去了某培训机构吧,半年时间。总结来说,培训机构也就是教你基础的东西,很多东西也过时了,但是你知道过去才能了解未来嘛。
我来说说我自己的亲身经历吧。
1.我刚入行做的第一个项目,不是我自己搭建的,都是现成的。领导让我参考着做一下几个模块的导入和导出。然后刚上手很蒙,这培训也没教我啊,然后硬着头皮上吧。自己自学的导入,对于刚入行的小白来说,会点基础,但是可能代码格式不够规范或者一些功能没用过,就需要参考别人的代码一点点照葫芦画瓢,我写的第一个demo 就是用easypoi写的导入和导出。但是慢慢的写了出来,还是很有成就感的。再后来接触了easyExcel,发现这两个都挺好用的,各有利弊。用的比较多了发现还是easyExcel好用,写注解就行了 哈哈。
2.以上述的导入导出为例,写完就需要自测,那么怎么自测呢?我们用的是swagger,本地调试,自己测试,找出问题。可是我根本没怎么用过debug调试,这怎么办。还好旁边有个大神,亲手给我示范怎么调试,怎么看每一个调试的值是多少(刚入行有一个人带你很重要)。慢慢的我学会了debug。找到系统的bug,找到代码中能够改善的地方。再就是 不管用什么依赖,例如 mp分页、swagger不知道怎么写注解这种能去看官方文档还是要看官方文档的。
3.自测完了的下一步就是联调了。刚开始,我连联调是什么都不知道。后来才知道 是前端同事调到你的服务上。这里分两种情况,因为现在后端都是微服务架构的,你可以本地起服务,他通过ip加端口加你的controller中的路径,调到你的服务上,你就可以本地打断点调试,但是你每次改完代码都需要重启。另一种是 他直接调用你注册再nacos上的服务,这样你本地怎么操作都不会影响他,但是如果联调需要你改动代码,你需要重新发布到那个环境上代码。联调主要就是看入参和出参有没有遗漏,有没有bug。并且逻辑上通不通,很多时候联调可以发现项目中的逻辑问题。便于跟项目经理、产品经理沟通。
4.后来联调完每一部分,就需要移交测试部门测试我们的系统了,这个就比较尴尬了,你的代码写的好不好,就完全暴露在测试部门面前。有的时候人家测试一点全是各种异常,这你就比较悲催了,加班加点改bug吧。
5.测试完了,可能就需要发布到正式系统让客户测试了。一般发布的话,可以jekens自动构建,即你把代码提交到git上就自动发布了,大概10-15分钟可以发布成功。如果没做自动构建的话,就是需要手动打包在linux服务器上。
6.剩下的工作可能就是无限的优化和新需求的过程。例如数据量大的时候,数据库的查询需要加索引。例如导入的时候每个字段校验较多,就需要多线程方式导入。不然你的系统性能太差,客户会觉得怎么这个系统这么卡,慢慢的人家不耐烦了,可能会觉得你们做的不好,给你提各种无理的需求,要不你怎么有底气打回他们的需求呢?
以上的所有,都需要你有一个良好的java编程基础:
1.你要了解三层架构。controller、service、dao层。
2.你要了解面向对象编程,一说可能大家都知道java是面向对象,其实是面向bug 哈哈哈。要怎么真正理解对象的概念。
3.了解spring和springboot的注解(非常重要),你工作了之后会发现到处都是注解,遇到一个查一个。如果你提前了解了,会增加你的工作效率。例如@Transactional事务注解,@Autowired,@Controller、@Service、@Component等等...
4.了解sql语句。如果你sql基础不够,你写多表查询会很慢,更别说对查询出来的字段进行一些处理操作了。
5.增强自己的沟通能力,不要因为自己刚去就什么都不敢问,作为程序员,沟通能力是很重要的。闷着头干,可能会适得其反增加工作量的。
6.最重要的就是一个良好的代码规范,例如:给前端的字段太多,很多不需要的,你这省事了,前端费事了,等同于你的工作没做好;还有给前端的标注,哪些必填,swagger的注释等;代码中的注释,还有时刻别忘了ctrl+shift+L代码格式化,不然有人想给你看代码都不想看。
7.一个方法不要超过80行,把公用的东西提取出去,每个方法只做一件事,这就是单一职责,例如查询某个班级的学生信息,要把查询方法放在学生包中,因为是根据班级查询学生表中的信息。六大职责对于刚入行来说是比较重要的,一是代码简洁,二是功能扩充的时候很方便,改动很小。
8.数据库方面的话,设计数据库每个字段的长度最好不要全255,这会影响性能。比如手机号就11位类似这种。数据库最好加几个固定字段,例如:操作时间、创建人姓名、修改时间、修改人姓名。别小看这几个冗余字段,对你自测很有用,不然数据你分不清哪个是你刚加的。你可能会说看id呀,但是你删除了某些数据,然后有个同事还给你改了id就乱套了,看时间是比较准确直观的。
慢慢的 你会熟能生巧。程序员难免加班,不要对加班太有怨言,因为你会发现抱怨也没用。加油!头发的多少决定着你的高度!希望我写的这些对于刚入行的小伙伴们来说有所帮助。
推荐 Java 技能树:Java技能树