O
今天终于赶在截止时间前完成了为期四天的“社渠划小收入报表”需求,这个任务的具体需求是:在满足商品和受理工号的前提下,剔除战略分群为政企的用户为社渠发展的公众用户每月进行收入测算。由于数据库中没有类似的任务例子,因此这个需求需要我们完整地完成整个流程的运行。从一开始懵懵懂懂地研究任务需求,到中间编写程序困难重重,到最后的提交任务,这一周可谓过的惊心动魄,实践中学到的知识非常多。将本次的任务绘制成流程图如下:
其中,“获取数据并制表”(第二步)又可以划分为以下5个步骤:
1.根据需求设计参数、变量;
2.将远程数据导入本地,并提取相关字段建立工号表:bns_liang_1024_gh与商品表:bns_liang_1024_sq;
3.建立中间表:收入表:'liang_factall_'||n_partition_month、其他信息表:'liang_1025_'||n_partition_month;
4.关联中间表,建立清单表:stat_detail_90022000与结果表:stat_day_report_t;
5.写日志表,便于进行测试与查错。
R
刚开始接触这个任务,得知截止时间不到四天,当时感觉真的是焦头烂额,好在有一个同事可以一起讨论,感觉在讨论中慢慢有了思路,然后在编写脚本的过程中又遇到了很多很多纠结的问题,在导师的帮助和指导下,又慢慢豁然开朗了,最后还算是基本完成任务了。
I
在这几天的工作中,我觉得收获了很多的想法,总结为以下三点:
1.分析需求
需求一般都是别的部门根据实际的情况和需要所发出的,所以对于刚刚入职的我来说有点懵,很多业务术语与流程不太明白。而需求分析又是最为重要的一步,它为后面整个流程的执行奠定了基础,所以不管是向导师请教还是和同事讨论,需求一定要弄得非常清楚,否则可能会导致后面做很多无用功且事倍功半。
2.找到方法
有时候只完整地将程序进行编译,得到出错的结果,然后自己并不清楚究竟是什么原因导致的。这个时候就需要我们进行Debug,一步步地单步跟踪,查看参数的变化。虽然这个过程比较繁琐,也很耗时,但是在跟着程序走的过程中也能够慢慢梳理自己的逻辑,可以检查是思路的问题还是单纯的语法问题。即使这个过程有些痛苦,但能从中学到很多。
3.熟能生巧
有时候在编译过程中遇到很多让我百思不得其解的错误,并且久久找不到原因。于是我向导师请教,而导师在简单地瞄一眼问题描述后就能够准确地找到我的问题所在,让我又敬佩又羡慕。想想在整个系统900多个程序中,导师开发并维护的程序就有400多个,这些经验都是他在工作中不断积累得来的,只有在实践—犯错—解决—总结的过程中不断循环,才能变得越来越优秀。
D
所以,我想在以后完成任务时做到勤总结,对于日常爱出错的问题及时记录解决方法,向导师请教的问题记录他的解决思路。