|
|
|
|
|
|
|
|
## 评审目标
|
|
|
|
|
|
```buildoutcfg
|
|
|
1. 实现方案的正确性
|
|
|
2. 代码的坏味道
|
|
|
3. 规范性
|
|
|
```
|
|
|
|
|
|
### 评审日期
|
|
|
|
|
|
```
|
|
|
2021-12-09
|
|
|
```
|
|
|
|
|
|
### 评审人
|
|
|
|
|
|
```
|
|
|
蒋家升、范召贤
|
|
|
```
|
|
|
|
|
|
### 被评审人
|
|
|
|
|
|
```
|
|
|
李子健
|
|
|
```
|
|
|
|
|
|
### 参考链接
|
|
|
|
|
|
- [代码入口](http://tech.pingansec.com/granite/project-collie-app/-/tree/master/app_juzi_data)
|
|
|
- [文档链接--IT桔子-投资事件](http://192.168.109.110/granite/kb/-/wikis/data_stream/itjuzi_investevent)
|
|
|
- [文档链接--IT桔子-投资机构](http://192.168.109.110/granite/kb/-/wikis/data_stream/itjuzi_investfirm)
|
|
|
- [文档链接--IT桔子-公司](http://192.168.109.110/granite/kb/-/wikis/data_stream/itjuzi_company)
|
|
|
|
|
|
### 流程
|
|
|
|
|
|
```buildoutcfg
|
|
|
1. 被评审人需先整体描述需要解决的问题、解决流程 (被评审人讲解过程中,评审人可以记录问题,不要打断被评审者的思路)
|
|
|
2. 被评审人讲完,评审人和与会人员可以提问题
|
|
|
3. 评审人进行评审 (被评审者或者与会人员记录评审待改进的内容,有时并不是只针对被评审者,而是所有编码者)
|
|
|
4. 评审完成之后,落实待修改项,主要是缺陷和规范性
|
|
|
```
|
|
|
|
|
|
### 值得学习的地方(测试、文档、代码结构)
|
|
|
|
|
|
```buildoutcfg
|
|
|
1. 数据分层:将原始的爬虫数据和生产使用的数据做了数据隔离,方便数据问题的查询
|
|
|
2. 单元测试:每个清洗udms都写了单元测试
|
|
|
3. 文档说明: 流转表
|
|
|
4. 代码结构:每一个业务步骤写一个清洗模块
|
|
|
```
|
|
|
|
|
|
### 不足的地方(测试、文档、代码结构)
|
|
|
|
|
|
```buildoutcfg
|
|
|
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
|
|
|
```
|
|
|
|
|
|
### 建议
|
|
|
|
|
|
- 1.yml文件的我规范性:
|
|
|
```
|
|
|
- job_id不规范
|
|
|
- 无效的配置没有删除
|
|
|
- 因为没有考虑本地测试问题,所以好多配置都写死了,不能自己定义,例如file_offset、module_path
|
|
|
```
|
|
|
|
|
|
- 2.解析代码:
|
|
|
```
|
|
|
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"
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
### 改进落实
|
|
|
|
|
|
```buildoutcfg
|
|
|
时间:
|
|
|
|
|
|
改进人:
|
|
|
|
|
|
监督人:
|
|
|
``` |
|
|
\ No newline at end of file |