zoukankan      html  css  js  c++  java
  • 代码审核

    一、最重要:这里定义代码审核必须检查的项目:

    这些项目都涉及较严重破坏或者难以逆转的操作。

    • SQL是否有慢查询
      包括:

      1. 未使用索引的查询,或者忘记设置索引,或者索引不合理:比如没有给唯一数据设计唯一索引或者并发锁
      2. 查询数据量过多,大多数丢弃
      3. 频繁的或者很容易触发大分页查询或者大量数据排序,比如count。
      4. 在循环体内执行SQL
    • 文件上传路径
      任何涉及到文件上传路径的地方,要检查文件路径是否符合规范。
      比如 勋章图片:
      不合理:http://.com/forums/1_icon.png
      应该为:http://
      .com/forums/medal/1_icon.png
      可以使用ID作为图片名称的,都要使用ID。不要随意取名字。

    • url命名不符合规范
      相比变量、函数名不符合规范,url不符合规范,或者随意取名带来的破坏更大
      难以修正,应该重视。

    • 输入输出

      1. 直接将用户输入输出到页面上(XSS),常见的地方如下
        1. 分页
        2. 搜索
      2. 输入直接注入到SQL中
    • POST GET请求

      1. 容易忽略需要POST的情况如下: 投票、鲜花、鸡蛋、删除、关注、点赞、一键**、签到、验证
      2. 容易忽略需要GET请求的情况:API读接口

    二、其次重要:容易被说成“坑”的一些问题

    • 现有功能重新实现一套
      就如字面上所说的,重复发明轮子问题。

    • 数据库设计问题

      1. 命名不规范 相比函数名,改数据库名往往更困难,特别有的还分表
      2. 类型不规范
    • 为某些特定需求,修改通用代码库的问题
      尽量避免

    三、最后需要注意的内容

    这个部分经常被当做最重要的部分,虽然如此,但是这个部分其实是最容易重构的部分,是改的动的东西,如果一定要分优先级,我还是建议放在最后检查。以为你前面的2项问题真的是很痛苦。

    • 变量、函数等命名规范
      相比其他代码,这个问题容易修复,发布后也可以重构,加上框架有命名限制,所以放在最后。

    • 代码逻辑问题
      由于有测试和运营部门,所以代码逻辑问题出现概率较小,多数在测试过程中程序员会找到这些问题。

    • 代码优化
      提升效率、简洁、清晰。

  • 相关阅读:
    /usr/bin/ld: 找不到 /usr/lib64/libatomic.so.1.0.0
    linux Version mismatch error. This is libtool 2.4.6 Debian-2.4.6-2
    java播放语音文件
    java冒泡排序
    java递归求和
    常见芯片标号说明
    keil5 新建 stm32项目 步骤
    st-link 升级固件时报错“is not in the DFU mode”
    数码管 段选位选
    C51 定时器
  • 原文地址:https://www.cnblogs.com/didda/p/4813535.html
Copyright © 2011-2022 走看看