Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
K
kb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • granite
  • kb
  • Wiki
    • Code review
  • it桔子parse_fanzx

it桔子parse_fanzx · Changes

Page history
add: it桔子的代码解析评审 authored Dec 09, 2021 by fanzx's avatar fanzx
Hide whitespace changes
Inline Side-by-side
Showing with 121 additions and 0 deletions
+121 -0
  • code-review/it桔子parse_fanzx.md code-review/it桔子parse_fanzx.md +121 -0
  • No files found.
code-review/it桔子parse_fanzx.md 0 → 100644
View page @ 59b22276
## 评审目标
```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
Clone repository
  • README
  • basic_guidelines
  • basic_guidelines
    • basic_guidelines
    • dev_guide
    • project_build
    • 开发流程
  • best_practice
  • best_practice
    • AlterTable
    • RDS
    • azkaban
    • create_table
    • design
    • elasticsearch
    • elasticsearch
      • ES运维
    • logstash
View All Pages