评审目标
1. 实现方案的正确性
2. 代码的坏味道
3. 规范性
评审日期
2021-12-09
评审人
蒋家升、范召贤
被评审人
李子健
参考链接
流程
1. 被评审人需先整体描述需要解决的问题、解决流程 (被评审人讲解过程中,评审人可以记录问题,不要打断被评审者的思路)
2. 被评审人讲完,评审人和与会人员可以提问题
3. 评审人进行评审 (被评审者或者与会人员记录评审待改进的内容,有时并不是只针对被评审者,而是所有编码者)
4. 评审完成之后,落实待修改项,主要是缺陷和规范性
值得学习的地方(测试、文档、代码结构)
1. 数据分层:将原始的爬虫数据和生产使用的数据做了数据隔离,方便数据问题的查询
2. 单元测试:每个清洗udms都写了单元测试
3. 文档说明: 流转表
4. 代码结构:每一个业务步骤写一个清洗模块
不足的地方(测试、文档、代码结构)
1. 整体测试:没有提供一个可以本地测试的yml配置:__test、__produce
2. 文档说明: 缺失
3. 业务逻辑:配置和解析就像是流水账,没有业务逻辑,如何提现业务逻辑:
2.1.按照数据源,3个爬虫数据源,可以写3个配置文件
itjuzi_investevent_update_sd.yml
itjuzi_investfirm_update_sd.yml
itjuzi_company_update_sd.yml
2.2.按照最终的生产数据更新需求,3个爬虫数据源,可以写3个配置文件
itjuzi_spider_update_company_investor.yml
itjuzi_spider_update_team_member.yml
itjuzi_spider_update_history_rongzi.yml
建议
- job_id不规范
- 无效的配置没有删除
- 因为没有考虑本地测试问题,所以好多配置都写死了,不能自己定义,例如file_offset、module_path
juzi_update_investment_event.__init__:
- init 配置没有参数化
- investment_amount = get_full_amount() 异常数值的处理
- db.commit() ???
- investment_event_id 的清洗与合理性
query:
query_sql: "select * from tm_info where $CONDITIONS;"
pack:
- name: tm_flow_ftp
table: tm_flow_ftp
join_on:
left: id
right: tm_id
columns: "tm_id, category, lc_date"
- name: tm_pic_original_ftp
table: tm_pic_original_ftp
join_on:
left: reg_no
right: reg_no
columns: "reg_no"
- name: tm_goods_ftp
table: tm_goods_ftp
join_on:
left: reg_no, int_cls
right: reg_no, int_cls
columns: "reg_no, int_cls, code,code_repair,title,be_deleted"
改进落实
时间:
改进人:
监督人: