代码审核

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

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

  • 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项问题真的是很痛苦。

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

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

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

原文地址:https://www.cnblogs.com/didda/p/4813535.html