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

Last edited by wangpj Nov 25, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

ic_info_change

评审目标

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

流程

1. 被评审人需先整体描述需要解决的问题、解决流程 (被评审人讲解过程中,评审人可以记录问题,不要打断被评审者的思路)
2. 被评审人讲完,评审人和与会人员可以提问题
3. 评审人进行评审 (被评审者或者与会人员记录评审待改进的内容,有时并不是只针对被评审者,而是所有编码者)
4. 评审完成之后,落实待修改项,主要是缺陷和规范性

整体感知

1. 代码干净、简洁,好评
2. 文档不全,不适合新手自主上手,一脸懵逼

值得学习的地方

1. 

代码的坏味道

1. 无效代码

   a、321行remain_cnt不会小于0,最小为0,当remain_cnt为0时就没有任务了,此时程序break,337行if语句冗余
   
   b、如果对于剩余任务数非必须知道,319行get_remain_task操作冗余,影响性能,不查询剩余数量,直接get_one_task,然后在337行做判断
   
   c、113行update_time后续没有用到不需要处理
2. 重复代码

   a、131行和138行功能重复,可以直接全部在131行替换
   
3. 异常处理

   a、所有的sql读写都没有进行异常处理,写sql时 操作应该用try catch包裹起来,出现异常时rollback
      
4. 必要注释

   a、很多关键解析部分逻辑复杂,缺少必要注释
   
5、命名

   a、ic_pc.py 42行 format_task_params  全是task_params
   
   b、get_one_goods函数的作用是解析json 命名不够直抒胸意,可改为parse_goods
   
   c、还有很多方法、变量的命名不够直抒胸意
   
6. bugs

   a、读取sql时 拼接 sql语句  有sql注入风险
   
7. 不足

   a、这个类里面多种类型详细的操作  数据库操作、解析操作,这些操作可封装成单独的类,降低代码的耦合度 
   
   b、处理并发不够完美,不同进程会拿到相同任务,解决办法使用队列,一个进程写任务,多个进程消费任务

规范性

建议: <1>添加readme.md,整体说明爬虫目的,快速启动以及部署等。
     <2>pip freeze > requirements.txt   导出当前环境依赖包

改进落实

缺陷:

规范性:

时间:

负责人:

已改进问题

缺陷:

规范性:

时间:

负责人:
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