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
????????所以,我想在以后完成任務時做到勤總結,對于日常愛出錯的問題及時記錄解決方法,向導師請教的問題記錄他的解決思路。