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

Last edited by fanzx Dec 09, 2021
Page history

it桔子parse_fanzx

评审目标

1. 实现方案的正确性
2. 代码的坏味道
3. 规范性

评审日期

2021-12-09

评审人

蒋家升、范召贤

被评审人

李子健

参考链接

  • 代码入口
  • 文档链接--IT桔子-投资事件
  • 文档链接--IT桔子-投资机构
  • 文档链接--IT桔子-公司

流程

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

建议

  • 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"

改进落实

时间:

改进人:

监督人:
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