一、总体概况
说是4月份,但我还是从我正式进入新项目开始说吧。
三月份的总体情况(三月份一共工作了6天)
具体情况:半天了解系统业务需求,半天熟悉框架代码,然后开始写功能!到三月底的时候,我是完成了5个页面的设计和查询,以及简单的一些业务逻辑(实在无力吐槽查询了和要求的显示效果了),还有创建调剂订单和发布紧急订单(没有做到动态数据加载,只是能走通)在这个时候,我用到的数据库表,就已经快接近20张了。一说到数据库表,真的又很想哭。(我一定要干掉这个让人无语的快速开发障碍)
四月份,是个从傻逼—苦逼—有点牛逼的过程!
傻逼:三月份的时候,主要是涉及的查询,但四月份的时候,要开发的功能,涉及到的弯弯道道就比较多了。什么三方赎证,结算签收,代理权,公布规则等等业务。我原以为一个车号,是可以标识唯一一辆汽车的,然后在代码里面,我就用车号去关联查很多东西。后来,自从我发现查出来的数据千奇百怪,我就隐隐感觉:不太妙。 再后来吧,我一心想,车号不行,那产品号总行了吧。我再想那个代理权,我就觉得吧,一个经销商总能够代理一个品牌的东西吧,等等等等。。。。。。但事实上,这些都和公司的业务不太吻合,也幸好我及时发现了,然后找人问了问,再仔细看了看少有的文档。
苦逼:把我错的路,走的差不多了,也就进入正轨了。(组长也是够牛掰啊,愣是把我一个汽车文盲给教导得也差不多了) 我这人是挑软柿子捏的人,我先把容易的都做完,再去做那些相对复杂点的。在开始做真正比较核心的业务时,我有一天没有写任何一行代码,在那儿写写画画,分析我即将要做得任务。等到我第二天的 时候,我就跟组长说,目前的设计,有存在两个信息缺口,还有一个地方可以更完善点。(是不是,从这一刻,我就暴露了,也就开始了我后来bug小能手的苦逼生涯) 跟测试(需求)和业务、组长都确认过后,我就开始开发了。在4月13号的时候,系统布上测试环境。禅道里面的bug也是只增不减,我就天天坐那儿改bug,苦逼的是,刚开始测试只跟组长说问题在哪儿,禅道里面描述的用语,也是他们那种在公司待了很多年以上才看得懂的话,可是最后是我去改bug,效率就比较低,我每改一个就要问组长具体情况,后来问了两次之后,我就问组长能不能演示和测试的时候,带上我,我想知道最真实的情况。
有点牛逼:系统本来是五一上线嘛,然后组长一直跟测试和业务那边核对需求,集成各个子系统连测,我就一直在改bug。但到了20号的时候,还有一堆bug,业务那边又搞事情,用户又搞事情:变更需求。太特么有点奇葩了,数据库里存着很多SQL语句,得区分开来。然后,业务那边说,代理权要细化到款式、发动机。就是说,有的经销商根本就没有代理权代理一个品牌,一个车型,他只被授权代理这个品牌,这个车型,这个款式,这个配置,这个发动机的车。讲真,当时就想给业务跪了!还有资金账套和三方赎证的事儿,本来三方未赎证的车是不允许调拨调剂的,未结算和未签收也不行。只能天天加班改bug改实现。好在,系统最后在预上线环境下撑住了。上线之后,又给出了一个新需求,正在考虑中。。。。。。
二、些许收获
1,页面设计
其实,我刚开始进入项目,被组长玩笑吐槽最多的就是我画的页面,真心丑! 说实在的,本来就是一个后台的管理类的系统嘛,用的也就是单纯的HTML、CSS、JS,我感觉我就是缺根筋,刚开始画出来的页面,总是那么丑。后来兼容浏览器的时候,测试要求改页面,本宝宝是真心调了好久的像素,改了一些CSS。后来总算是让人满意了。还有就是之前提到的发布紧急订单的页面,就因为代理权的问题以及为用户默认加载数据的权限问题,这个页面改了好久(那个小小的页面,除了file类型的,其余的竟都有,单选,复选,文本,下拉,图片,隐藏,数字,下拉模糊匹配,联动......好多好多,取值、赋值,传值,我真是太幸运了,这么一个好的学习机会落到了我的头上) 然后,就雄赳赳气昂昂的找了个在线代码编辑器,设计这个页面,最后给做完了,测试、业务、组长每次一点到那个小页面的时候,都特别满意,组长还说,比预期的效果好很多!
2,页面拆分
刚开始好多东西都写在一个JSP里面的,因为是一个页面的嘛,但这个页面有3个tab页签。整个说是不好维护,然后就一直在那儿拆,有的地方是好几个地方都要用到的,然后就在想复用的事儿。组长最开始是用iframe标签引入新页面,但他引入的时候,出了点小问题,愣是把需求上的一个同页面功能,再增加了一个新的页签,测试那边没通过,哈哈哈哈哈哈哈(他改到晚上11点多的成果,就这么被测试给否了,开心,我也有可以玩笑他的了)
开组长玩笑的后果就是,这些东西,最终都落到我头上了。当时拆分完了,就是父子窗口的函数标签调用。但是测试的时候,兼容问题又有了,最后找了个其他组的人帮忙看看,也还是没有解决的了,换了另一种方法,但用户体验度不好,大家都觉得还是不要改了,最后的最后,我就用了一个很蠢萌的方法解决了!
在这个页面拆分的环节里,最大的收获就是事件的绑定、页面复用的同时,兼顾维护成本的平衡取舍。
3,代理权、资金账套的实现
这个任务当时对我来说还是有点挑战性的,尤其是业务那边细化代理权之后,但在做这个实现的过程中,对业务的理解又深入了特别特别多。实现的过程中,还又发现了一个用户需求不太明确合理的地方,又一轮和测试、业务那边确认。嘿嘿,我发现这个,也是得益于自己有买卖东西的经历。后来再业务培训的时候,我说我要去听,组长说:我觉得你不用去了,那是新人培训,你这都是老人了。不过,你要想去的话,就去吧(我靠靠)
4,代码重构
组长是觉得一个类的方法太多了,目前的分类方式,不太合适。有些东西可以复用,包括JS也是一样的,然后就让我考虑一下重构代码,要做到:随便一个人过来,就能看懂。我就又很蠢萌的顺口说了一个解决方法,没想到,组长歪头一想,还给采用了,结果,立马让我改。
改完之后的结果就是,组长说了好多遍:嗯,这代码,挺优美的。我这一看就知道怎么回事儿,整理实现逻辑SQL,都用不上你。(PS:顿时有一种卸磨杀驴的既视感,沉默的想了好一会儿,我最近在公司有没有表现不好)
收获呢,其实就是代码规范吧,还有就是比以前多想了很多,考虑问题也能更全面,站到一个更高的角度了。 另外一个就是,我现在特别喜欢写代码,特别特别喜欢!
三、总结
然后,代码重构完,也才26号。而测试和业务那边,早就消停了。就相对轻松了很多,就一边完善文档一边总结这段时间以来的收获。恭喜我荣获:bug小能手的称号。组长有时候还问我来着:哎,你怎么改的,改那么快?
做的不好的地方:
1,我一着急就会抱怨几句,组长老拿那种想想都脑袋疼的任务给我,更不平衡,为什么选任务模块的时候,别人都可以自由挑选,而我要去完成指定模块。 有时候吧,还闹点脾气。
2,思考的问题太少了,整天就拿自己当开发的看,也没想着点别的事儿,这样不好。毕竟,我明明是可以为公司服务更多的,我要改正这个臭毛病。
做的还可以的地方:
1,主动跟组长提出了,系统设计上的有待进一步完善的地方,以及相关解决方案!
2,主动跟组长提了提,咱们项目组的开发现状,可以改善提升的点,以及相对应的可操作性方法。
3,至少是没有拖后腿儿,系统算是如期上线了,没耽误事儿,一路惊心动魄,总算有个好的结局!
接下来的项目里,对自己的告诫就是:
1,要静下心来,好好的想想怎样把产品做到极致,做得更加的完美。
2,不能再去抱怨这个不好,那个不好了,如果有不好的地方,那我就要挑起这份责任,是让它变得好!
3,能力有限,是自己应该感到羞愧,极需要学习提升的地方,而不是推卸责任和挑选任务的理由!
4,哼哼,一定要埋头苦干,多思考,争取早点有实力和资本,翻身农奴把歌唱!