分享好友 最新动态首页 最新动态分类 切换频道
项目个人遇到的问题与想法
2024-12-27 11:37

入职之后项目第二个迭代周期进入尾声,基本开发的工作已经在收尾了,还是要把自己的所得转换为实体,正所谓心得。

​ 首先是代码方面,不一定是技术,但要记得自己的改变。

​ 虽然很多东西以前都看过,了解过,以为自己绝对能做到,实际执行起来还是有各种各样的问题,项目里也不一定有充足的时间可以给你优化,重构你的代码。

一、拆分方法

java是面向对象的语言,这句话任何javacoder都不可能没听过,单做起来真的很难。真正在写代码的时候有没有做好层级关系,方法拆分做好了吗,阿里的代码手册里说一个方法最多不能超过80行,实际执行起来真的很难,在代码里充斥着复制粘贴的代码,真的写起方法来,顺着一个思路写下去,三百行,四百行,谁还会想起来一条准则。

那如何真的做到提取方法,拆分臃肿的方法呢,就我来说,让我一次性来说,还是做不到的,思路没那么快,还记得项目开始时看到的思维导图吗,结构化思维需要一步步养成,这思维导图映射到代码通常是以业务逻辑的形式,但我觉得也应该作为拆分方法的依据,所以先从注释开始起,通常一个功能至少会有一行代码,在需要拆分的地方写上注释,及时现在没办法拆分方法,在有时间的时候,也可以根据注释写出的功能块进行拆分。

二、代码逻辑

java重业务,主要就是写业务逻辑,那业务逻辑转换为代码逻辑会怎么样,我觉得这和个人的能力有很大关系,以前看段子说写java只需要for循环,ifelse就满足了基本的业务需求,集合基本ArrayList和hashmap打遍天下,当初当段子听,现在,对,是我。而且我还很难走出这个困局,因为我好像写业务逻辑的时候只能写这些,用什么stream、lambda表达式,高端大气上档次,但本质没有变化,for循环还是for循环。

那如何优化自己的代码逻辑呢,有一次项目经理看代码,看到一个同事一个方法里嵌套了10来层,当场就把几个初级开发叫过去,算是一次小型的codereview,那结论是什么呢,该return就return,判空之后,能直接返回的就返回,这样确实减少了几层嵌套,最近这个开发周期算是告一段落,我也开始写总结了。时不时翻一翻自己的代码,一看,呵,一个方法里做了15个判空,我还没办法分开哪些是需要,那些不需要,我觉得写的太长了, 去问了一下边上一个中级开发,写的是一段出库的代码,因为出库影响物料,库存,需要修改四张表,他建议我从业务上把逻辑分开,主体是出库,把物料和库存拆分出来,单独写一个方法,优化自己的代码逻辑,这个其实和上面还是一个问题,都是代码的可读性,那性能呢

三、拆分前后端代码的职责

如果循环里看到写读写数据库的操作,那你可能会被项目经理打死,如果你前端需要返回一条数据,这条数据,需要关联三张表,你left join 表1,还好没啥说的,然后left join 表2,总之能跑把,然后left join表3,你自己明显感觉到了这条sql十分缓慢,但这都是需要的数据,该如何优化自己的sql呢,作为一个菜鸟,看过一些乱七八糟的博客,教程,现在网上搜连接和子查询,都是一溜的说连接比子查询效率高,实际上是的,但不是一味地连接就可以拯救世界。

那该如何拆分呢,回到标题,拆分前后端代码的职责,如果一张表只是一张单纯的字典表,那你完全可以把它维护到前端,让前端渲染的时候去处理。如果一张表 数据表不是很大,那你完全可以在分开查询两张表,然后查询出所有需要的数据,然后在业务层处理数据的时候筛选数据。从而避免连接太多,但这只是数据比较少的情况,那数据大的情况呢,还是需要优化SQL,归根到底,好好看书,好好学习,SQL真的很重要。

四、提高自己的开发效率

在开发周期中,第一要素也是底线也就是必须在工期内完成,客户那边肯定是不会等人的,所以必须准时完成项目经理安排的任务,不管多还是少,复杂还是简单。实际开发过程中,可能会有各种各样的因素,有外因,有内因,这次只说自己该怎么做。开发周期中自己会遇到哪些问题呢,使用自己不熟悉的技术,完成自己不熟悉的项目,过程中需求的更改,本就超出的工作量,需要返工,这次只说内因。你已经可以看到QQ群里各类开发大神时时摸鱼,甚至你身边就有摸鱼同事,但你的开发任务不会因为这些人而改变,做些什么,该怎么做。

技术这玩意只能自己去学,无论你是看文档,还是看视频,还是靠别人教,公司不会管,但这只能自己努力。不熟悉项目,需要维护前任留下来的屎山代码,说实话我觉得测试和修改bug的过程就是最好的熟悉项目的过程。通常大部分人选择的提高效率的方法,就是CtrlCV,但是用别人的代码就会被动接受别人留下来的坑,如果copy的代码就是有坑的,那你可能会因为这坑反而花费更多时间。为了追求开发速度,而不求甚解,这不是真的需要的效率。你自己写代码还需要判空,校验,那不妨给你copy的代码做个校验,另外千万不要copy自己都看不懂的代码,就算跑起来了,那真是有天坑从天上做也是不亏的。copy前先读懂他。另外多说一句,前段时间看个视频,up主在视频里说很多java程序员不重视基础java能力,严重依赖框架开发,时间长了,不是中级程序员也不是高级程序员,成了框架程序员,spring程序员。框架可以简化开发过程,提高开发效率,但不能忘了java的基本功,这些个框架也都是java来实现的,了解他,实现它,不然跑着自己都看不懂的代码,那有一天框架过时了,该何去何从,虽然我还是个菜鸟,我也深以为然,虽然我现在的开发框架也严重依赖spring,但借此警醒自己,需要掌握工具。

五、产品和项目的思维

前两天转正了, 自己觉得自己这段时间表现得还可以,提前转正也在预期之中,转正后项目经理找我谈话了,跟我提了一嘴,项目和产品,作为开发者来言,项目,我只需要满足甲方提出的需求,满足需求,被动的完成,解决bug,没问题,甲方也不会找你,如果有新需求,反正加钱。产品不止要解决需求,还要去优化产品,满足的时用户的需求,最终目的是为了满足用户。这些都是扯淡,产品会迭代,项目没有,产品你只要不跑路,你以后还要干,所以为了自己考虑,也要整得像样一点。

自己总结一下

最新文章
使用idea 创建 推送docker镜像 并创建运行容器
Intellij IDEA快速实现Docker镜像部署的方法步骤编辑vim /lib/systemd/system/docker.service添加-H tcp://0.0.0.0:2375 此处如果打包的jar包没有包含依赖,需要增加如下常规做法如果需要读取外部的配置文件 3)、在宿主机下新
篮球巨星詹姆斯的新里程碑数据汇总
篮球巨星詹姆斯再创辉煌,最新数据汇总展现其新里程碑。他在赛场上展现出无与伦比的实力,不断刷新个人记录,成为篮球界的一大亮点。他的出色表现和卓越成就,为球迷们带来了无尽的惊喜和骄傲。自从踏入NBA的那一刻起,詹姆斯便以卓越的篮
皇冠热水器售后服务电话24小时各地区《今日发布》 多所高校提出使用AI的多个“禁止” 学术论文使用AI边界在哪儿?
皇冠热水器统一维修热线电话《今日汇总》皇冠热水器各热线号码2024已更新(2024已更新)皇冠热水器维修电话:(1)400-965-8692(点击咨询)(2)400-965-8692(点击咨询)皇冠热水器24小时热线(1)400-965-8692(点击咨询)(2)400-965-8692
使用绿联私有云Docker搭建自动化实时网页监控工具,实现降价提醒/RSS监控等
哈喽小伙伴们好,我是Stark-C~之前老是有小伙伴们在评论区说我分享的Docker容器都是通过Docker run命令部署的,能不能照顾下像私有云这种新势力NAS的新手用户?OK,这不就安排上了嘛!不知道小伙伴们有没有这个需求:有的时候我们想要第一
视觉检测技术在提升反光件点云准确度中的应用
视觉检测技术通过投影特定的图案或光线到反光表面上,并利用相机捕捉这些图案或光线的变形信息,进而计算出表面的三维形貌。对于高反光表面,传统的视觉检测方法可能面临过曝或欠曝的问题,导致点云数据不准确。而先进的,如自适应条纹投影
有没有免费并且游戏功能多大屏互动软件推荐?
说到做活动,都逃离不了抽奖环节和游戏环节,这是年会必不可少的重头戏,而传统的抽奖游戏已经远远满足不了现在爱玩的人们。在近几年来都兴起用大屏互动软件来比拼并抽奖,在场所有人一起参与,那场面可相当壮观,嗨翻全场!但这类软件市场
金舟Windows优化大师官方版下载安装
  金舟windows优化大师是一款免费的Windows系统优化软件,集成了多种强大的功能,有:C盘加速,电脑加速,大文件搬家,聊天记录清除,系统大文件删除。如果你遇到过C盘变红,内存不足,电脑卡满等烦人的问题,那么就赶快来下载金舟window
【小乔C1蓝光云挂机下载】朵唯小乔C1蓝光云挂机5.8免费下载
蓝光云手机,一款24小时永久在线,无限多开账号,零流量零电量,释放本地空间,随时随地查看游戏进度的超级神器!无需root,即可进行自动打怪,自动任务,自动开局等多种自动模式的便捷应用!通过远程控制,轻松实现0掉线、0卡顿、0费电,0
热点聚焦:北京治疗白癜风好的医院是哪家“热榜排名”白癜风早期症状,如何减少白癜风复发的几率?
  热点聚焦:北京治疗白癜风好的医院是哪家“热榜排名”白癜风早期症状,如何减少白癜风复发的几率?北京中科白癜风医院指出:白癜风是当今生活中相对常见的皮肤疾病。一旦患者患有白癜风,不仅会对患者的身体健康产生重大影响,而且在严
通义听悟app
通义听悟app,一般又称通义app。通义千问,是一款超大规模预训练模型,能够在创意文案、办公助理、学习助手、趣味生活等多个方面,为您提供全方位的协助。具备以下核心能力:【创意文案】可以帮助您快速、灵活、高效地生成创意文案,如小红
相关文章
推荐文章
发表评论
0评