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

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

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

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

  • 相关阅读:
    flume未解之谜
    flume source,sinks类型官方翻译
    flume-event类
    flume课件(连)
    source监控端口,telnet写入此端口。sinks指定目录,文件以默认时间滚动生成
    linux命令拾遗
    nginx内置变量
    nginx.conf
    hive事物开启
    hiveHA
  • 原文地址:https://www.cnblogs.com/didda/p/4813535.html
Copyright © 2011-2022 走看看