解析excel所学

    我的第一个任务是将刘江写的excel解析的测试调通。刚开始感觉可尴尬了,我竟然看不懂,而且我一紧张就满头冒汗,刘工还不时安慰我:没事,写不出来也不会要你的小名。可是我就是不会,就像脑袋短路了似的,连问都不知道该怎么问。最后还是在刘工手把手的教导下,才勉强写了出来。期间被人狂说一顿,说我oo都没学好。那个汗颜呀,最后连老师的脸都差点丢光。唉,我生性就是那种好逸恶劳之辈,oo早都快忘光了,好在知耻而后勇,我硬着头皮问刘工给我推荐一些好的资料,人开口就说:《think in Java》,翻来覆去读个三五遍去,就你这样,还想买房买车?啥也不说了,这个月发工资了,就去买。半年内的任务:必须通读《think in Java》。

 

    我调的excel解析的东东已经以资源的形式上传了,想看的人可以看看,不过还需要下载poi3.2的包。为了大家更好的理解,我将我的一点见解写出来,大家可以参考并指正。

 

    其中,ExcelParserTest是程序的入口,就从这开始吧。


    ReportFileParser.getInstance()方法我采用了单例模式来实现,获取一个类的实例而已。

 

    ReportInstance ri = rfp.parserFile(report.getName());是根据excel的名称得到有关excel的信息,比如Aexcel去掉表头,数据列是从第7行开始的,则在ReportInstance的uuid里将其标示为100,Bexcel是从第8行开始的,则将标示为200,依次推类。当然还可以再加一些别的有关excel的信息,比如版本、状态、上传时间等。

 

    ExcelParserManager隆重登场!getParser()方法是根据上步解析来的excel信息,判断应该对应那张excel模板。注意这里返回的是ExcelParser接口对象,如果excel版本信息是借款的,则new一个借款的实现类,去处理借款相应操作。如果是其他,则写其他相应的实

现类去处理操作。写到这,貌似理解一点接口的含义了,所谓的接口,就是将大家共有的即不变的东西抽象出来,各自的变的东西由不同的实现类去处理。

 

    接下来,混乱的东东闪亮登场,左边是接口,右边也是接口,绕的人云里雾里,我就是在这给卡住的。我说说我的见解:以贷款的实现类来说,要返回一个ReportData接口对象,这也是将一些报表的共同东西拿了出来,反正遇到接口,就认为是取事物的共性的东西就对

了,不同的excel有对应的不同的实体类,这些实体类各有不同,比如字段的多少,要校验的字段,数据入库等等,但是这些不同实体类都要有ReportData接口中的那三个操作,于是,ReportData接口就诞生了。再接下来的实现类就看自己了,想咋设计还不是由咱。

 

    其实无多少自由可言,共同操作都被接口定义好了,校验规则又被需求框死了,自己能做的也就是噼里啪啦,一顿乱敲,实现接口的东西和需求就ok了。

 

    写到这,我终于明白,为啥我们有it民工之称了,因为我们整天做的就是在那噼里啪啦,就像驴子一样,有人给你设计好了石磨(接口),有人往石磨上倒上麦子(需求),于是,悲剧开始上演,最后的结局,古人早已为我们总结好了,简介而又形象:卸磨杀驴。我觉得这

也是很多程序员为啥会在30岁左右的时候,要考虑转行的原因。

 

    要想在这个行业干下去,这一关必须要过,看人怎么写接口,如何借鉴人的思想,有时间多看阿帕奇的开源代码,多看书,最好自己也能写出这样测试,让别人去实现。也有些明白为何一流的公司做服务和接口了。因为人做的是自己的思想。

 

    用技术表达自己,从刘工的作品中可以看出:他很好的说明了上篇文章的培训中给我们提到的内容根,这里很好的体现了什么叫非遍地都是可调用的方法,代码划分时的概念和模型,良好的注释,如何做测试等等,还可以看出一个大师的变量命名:excelPaser比我的垃圾的doexcel要好的多,loan比我的borrow也要强的多。类似的地海多的是。总之,从大到思想,小到代码的规范。我都获益匪浅。

 

    如果你有一年没更新过你的知识,那你已不属于这个行业。言过其实了,不消一年,半年就足矣。智慧日进者方值得尊重,特写此文以共勉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值