代码审核 - 优先级别
2015-09-16 15:48
169 查看
一、最重要:这里定义代码审核必须检查的项目:
这些项目都涉及较严重破坏或者难以逆转的操作。SQL是否有慢查询
包括:
未使用索引的查询,或者忘记设置索引,或者索引不合理:比如没有给唯一数据设计唯一索引或者并发锁
查询数据量过多,大多数丢弃
频繁的或者很容易触发大分页查询或者大量数据排序,比如count。
在循环体内执行SQL
文件上传路径
任何涉及到文件上传路径的地方,要检查文件路径是否符合规范。
比如 勋章图片:
不合理:http://****.com/forums/1_icon.png
应该为:http://****.com/forums/medal/1_icon.png
可以使用ID作为图片名称的,都要使用ID。不要随意取名字。
url命名不符合规范
相比变量、函数名不符合规范,url不符合规范,或者随意取名带来的破坏更大
难以修正,应该重视。
输入输出
直接将用户输入输出到页面上(XSS),常见的地方如下
分页
搜索
输入直接注入到SQL中
POST GET请求
容易忽略需要POST的情况如下: 投票、鲜花、鸡蛋、删除、关注、点赞、一键**、签到、验证
容易忽略需要GET请求的情况:API读接口
二、其次重要:容易被说成“坑”的一些问题
现有功能重新实现一套就如字面上所说的,重复发明轮子问题。
数据库设计问题
命名不规范 相比函数名,改数据库名往往更困难,特别有的还分表
类型不规范
为某些特定需求,修改通用代码库的问题
尽量避免
三、最后需要注意的内容
这个部分经常被当做最重要的部分,虽然如此,但是这个部分其实是最容易重构的部分,是改的动的东西,如果一定要分优先级,我还是建议放在最后检查。以为你前面的2项问题真的是很痛苦。变量、函数等命名规范
相比其他代码,这个问题容易修复,发布后也可以重构,加上框架有命名限制,所以放在最后。
代码逻辑问题
由于有测试和运营部门,所以代码逻辑问题出现概率较小,多数在测试过程中程序员会找到这些问题。
代码优化
提升效率、简洁、清晰。
相关文章推荐
- 理解Java的封装与接口
- 详解C++编程中类的声明和对象成员的引用
- 闭包漫谈(从抽象代数及函数式编程角度)
- matlab绘制直方图的方法
- PHP 基本
- Java内省机制
- THINKPHP 验证码不显示
- C++实现split,若有问题,请指正。(有用C实现过的,欢迎贴代码)
- 单个php页面实现301重定向
- C++窗体示范
- javax.servlet.jsp.JspException cannot be resolved to a type
- [python] 0x5 Python Tutorial: Web Requests
- Algorithms—87.Scramble String
- PHP常用函数大全
- 单词统计
- php throw new Excpetion()之后,程序还往下继续运行吗?
- test2.11
- python torndb模块
- C++编译机制(vc++)
- C++ 字符串分割