第一天上班

看的时候听听音乐吧!

分析excel和pdf

———————

快毕业那会,我去了一家外包公司实习,由于是实习生,所以没有一上来就进入项目组,而是接受一个类似能力测试的东西。我得到的第一个任务,就是用去分析几个excel和pdf上的数据。

真的,我第一眼看到之后,简直就是一脸蒙蔽。我当时脑子发热,这也太蛋疼了。不会以后写项目都给出的是这种数据吧。全是英文也就算了,完全搞不懂是分析什么。而我本身也是比较内向的一个人,不善于问,带我的那个人又离我比较远,我本身也不太喜欢问,而是自己研究,所以一整天时间,毫无头绪,啥都没看懂。

excel上,是一大堆乱莫名的数据,英文看不懂,就只好用翻译一个一个去翻译。pdf上,则是一大堆图标和表格,也是纯英文的。后来我猜测,是不是让我找出pdf上的数据都是来自excel上的哪里,但是也不确定,也一直没问,就这样,迷迷糊糊的一天就过去了。

并没有想象的那么糟糕

——————————

第二天,我在带我的经理刚来公司的时候,问了一下。也不知道是受了什么影响,我一直以为老大,经理这种级别的人,都是非常严肃苛刻,你做的不好就各种骂你,你简单的东西不会就看不起你这种。

但其实不是这样的,带我的那个经理是非常和蔼的,而且也是很容易成为朋友而不是一直上下级关系的人。其实后来我也发现,我所在的那个项目组的项目经理,也是很有耐心,并没有想象的那么不好,大家互相之间都是比较有说有聊,有问题互相问,我觉得这是一个挺不错的公司。

再问了经理之后,也验证了我的猜想,的确是要找到pdf上的数据到底是从excel上的哪里来的。不过,他告诉我首先要找到excel表之间的关系。这下就比较轻松了,因为只有两张excel表,还是比较有规律的。

一天的时间,我勉强找出了一些数据的关系。看起来挺简单,其实真的挺简单,对现在的我来说不算难,但是那个时候,第一次接触,这么让人一脸蒙蔽的表,实在是头脑发热。而且我一直在想为啥不让我敲代码,手都痒了。

设计数据库

—————

过了2、3天,在经理的指导下,初步分析出了一部分数据关系。第二个任务,就是设计数据库。根据这些表,来设计数据库。终于,等了这么久,第一次可以打开我的eclipse和mysql了。

这些表,有主表和副表,主表是数据的来源,副表的内容来自主表。我按照那个时候所理解的范式,设计了一个我感觉还不错的表,也是用了一天的时间。其实用我现在的知识去设计表,绝对不会按照范式设计的,除非我有足够的时间去编写一套非常好的代码,在工作中,我是怎么简单怎么来。

POI

——

不过第二天,经理没有看我的表,而是直接进入第三个任务了。也是正式开始进入编程的时候了。我需要设计一张表,只有一张表,保存所有需要的字段,我算了算差不多有60个左右的字段吧。然后适用POI将excel内容导入到数据库,同时也可以将数据库的内容导出为excel表格,当然格式暂时可以不管。

这是我第二次让JAVA和excel打交道了。第一次是上学那会,也使用的mysql和JAVA,对excel进行统计分析。不过那会,我不会POI,而且完全没有用到任何excel和java互相通信的技术,而是将excel数据导出成txt,再倒入数据库,而后我通过数据库,来分析数据库。那个时候的我,还是很菜的。不懂业务,也不会交流。

POI还是比较简单的,很快就上手了,写代码,我很擅长,也很喜欢,所以这个功能,也是一天,就搞定了。其实对excel的操作,就像是在操作一个二维数组。当然我发现同样的表表头有些不一样,我为了达成这种兼容性,我是用了和Hibernate的Column注释一样的方式对属性进行了注释,来设置该属性所对应的列名称,可以对应多个列名称。

测试结束

————

后来,又让我将这种功能放到web上,又做了一些小的修饰,基本上用了快1个月的时间吧,测试就算是完成了。后来我就被分到了一个项目组,进行项目开发,一直到现在,其实才过了3个月多,我已经学到了很多东西,但总有一些问题在我脑海中很迷茫。

我以前写代码,总是会考虑所有的情况,即便这种情况几乎不会产生,但是我依然还是会写个接口,写个工厂类,制定一个标准,但在我的工作中,这样太慢了。做个假设,人的年龄很难超过3位数,所以不用考虑4位数的情况,而我一定要考虑,不是因为人的年龄会超过3位数,而是考虑可能有人会故意输入超过3位数,跳过前台验证。

有时候使用范式设计数据库,很精简,但实际上,前台代码写起来很费劲。一个看上去很糟糕的数据库,重复字段,无用字段过多,一个表一堆列,但是前台代码相当简单,基本都是复制粘贴,没什么难度,真的做到只关心业务不用管技术。

所以到底我该用怎样的方式进行编程,现在的我还是比较迷茫。也许时间可以让我找到答案......

这个公众号会记录我在JAVA行业的经历,如果觉得对你的选择有所启发,还请支持下作者。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171211G0Y20A00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券