目录
从程序诞生开始,各路人马就一直在研究消除重复,不管是编码、体力劳动、还是项目管理等方面,以前这样,以后也不会停止,相信后续会有更多更美的工具出现,让我们翘首以待
一、程序员的日常工作(理想版)
打卡,例会,
coding,coding,coding,coding ……
吃午饭,小睡会儿
coding,coding,coding,coding ……
吃晚饭,散会儿小步
coding,coding,coding,coding ……
做完当日工作内容,不需要搭末班车就能够提早到家
看看书、刷个抖音、和老婆聊会儿天,关灯睡觉
二、程序员的日常工作(忙碌版)
打卡,例会
coding,cod^ 报ClassNotFoundException
度娘-->尼玛,全都英文,眼花缭乱的
阿里爸爸-->
**DN-->要会员,要充钱--->找人借个账号-->
-->尼玛,版本又不对--->再各种找,-->
吃午饭,接着找包
run debug^报错,版本冲突-->各种找-->消除冲突
coding、coding 、coding……
吃个晚饭,多加会儿版,坐末班车回家
再找包……睡觉
三、程序员的日常工作(悲催版)
打卡,例会--》经理说:公司的框架要升级,大伙儿辛苦下,把各种包整理下
找包,找包,找包,-->尼玛,项目中这么多包,谁知道谁依赖谁,谁和谁冲突,-->祈祷
-->度妈妈,请多点理解吧
-->阿里爸爸多点支持吧
-->奋战完成-->经理说:小谢,客户这里催得紧,你抓紧下把这个模块搞出来
coding,coding,coding……
不吃饭了,不打卡了,不睡觉了,没有今天明天了,
coding,coding,coding……
吃个夜宵,错过了白班末班车,错过了晚班末班车,拿着睡袋在公司将就对付一晚吧
四、消除重复,简化工作,提升效率和质量
以上的内容,开个玩笑,不过java 和javaweb项目中的jar包,一向是小白和老鸟头疼的问题,找包找得身心疲惫,找包找到蓝瘦香菇,只有经历过的人才能够真正领略它的魅力。当然在项目中也经常碰到一些重复的功能,重复的模块,如果每一个项目都从零开始的话,那这些重复的工作就变成了体力劳动,实际上,当有了程序后,各路大神就已经在琢磨消除重复的问题。
让我们一起来看看,有哪些:
1. 开发:编码
a. 代码结构上:
代码重用:方法、父类、工具类等等
b. 组件:
组件重用, 把很多项目需要用到的通用功能,独立出来,需要用到那个,直接导入使用即可,不需要再次开发
c. 框架:
完成项目底层结构的配置,让我们只需要注重业务逻辑即可
1> 公司内部的开发框架:比如网络公司给人家做网站,当新来一个网站,基本上只需要做一个网站界面就可以,而 不需要从零开始,就出现了所谓的模板网站
2>. 阿里巴巴:阿里巴巴开源的框架非常多,这些框架都是在阿里巴巴/淘宝内部用的非常成熟之后才开源出来,比如iceworks开发工具,这里面封装很多的前端框架,并集成到一起,可以很快速的搭建前段项目;
阿里巴巴的开源工具列表:https://mp.csdn.net/postedit/86229651
3>业界通用的框架:spring springmvc hibernate,mybatis等框架,每一个框架都在某一个方面给出了非常优秀的解决方案
d. java EE 项目中的那些框架:
展示层: H5/css3/js/jquery --对应组件库:element-ui,jstree,d2admin等等
控制层: springmvc/Struts2 -->针对这个技术简单的介绍
业务逻辑层: springIOC/SpringAop
持久化层: jdbc/Hibernate/Mybatis
数据库:mysql/Oracl-->navicate /pl/sql developer(工具)
2. 资源管理工作的简化
a.项目资源管理 中碰到的问题
1> j2ee项目中使用不同框架,肯定需要用到对应的jar包,原来的方式上网各种查,
2> 框架版本不同,对应的jar包版本不一样,所依赖的jar包版本不一样,--》版本冲突,程序员要消除冲突,再次各种查,尤其是项目使用的框架版本升级的时候,稍大一点的项目会让整个项目组的同学蓝瘦香菇
3> 对于国人来讲,English并不是强项,找到对应依赖包有点难度;国内目前很多资源站下载需要积分,要么需要购买会员,要么再去别地找找,而且有可能下载的资源还不是自己 所需要的,再次各种查
4> 对于较大的项目,管理中痛苦必然存在:谁分得清这么多Jar包哪个和哪个依赖,哪个和哪个冲突?我不可能为了开发一个项目就去把所使用的框架,相关资源都背熟吧
5> 不同项目可能用到某些相同的资源,那么会导致项目工作区资料冗余,浪费空间不说,还不易管理
举个简单的例子:开发spring+hibernate+mybatis项目,每个项目所需要的基础包都一样,我们把这些工具包复制到web-info\lib目录中,我们才可以使用,这些完全一模一样的资源,使得我们的工作区存在大量重复文件,使得项目变得臃肿。我们需要瘦身的工具,最好是每个jar包,电脑里边只存一份就好
b. 解决方案:
1> 数不清的程序员在不停地做着这种体力上的重复,公司内部一般设置统一的资料库,在项目文档上进行相关的约定,从而提升效率,减少出错的几率
2>使用项目管理工具,比如说本专题的主角:maven;使用Maven,可以享受统一规范的jar包管理体系,给个名字,给个版本号,它会自动从中央仓库下载这些jar包和他所依赖的jar包
3. 项目管理的简化
-
项目管理:编译、测试、打包、项目部署,这些方面也存在着重复
从历史上有很多项目管理工具,包括 make-->ant-->maven-->Gradle等
make介绍:https://blog.csdn.net/qq_36983118/article/details/79213483
ant介绍:https://blog.csdn.net/qq997404392/article/details/76986978
Gradle用法介绍:https://blog.csdn.net/u014624659/article/details/84700021
总结:
从程序诞生开始,各路人马就一直在研究消除重复,不管是编码、体力劳动、还是项目管理等方面,以前这样,以后也不会停止,相信后续会有更多更美的工具出现,让我们翘首以待