一、前端:
1.是否有全局变量滥用
2.是否有变量命名不规范(例如:单词拼写错误、下划线驼峰格式乱用)
3.是否有代码冗余,是否有多份重复代码
4.是否有函数过长
5.是否有逻辑过于复杂
6.css的图片缓存加版本号问题
7.是否有过多js代码放到了html中
8.函数传参类型要一致,尽量不要单独用一个flag做某种情况的单独配置
9.事件绑定不要全部都放body上
10.注意请求加锁问题
11.上次code review 记录的问题 是否有修改
二、后端python:
1.缩进
缩进4个空格一个缩进层次。
2.制表符还是空格
永远不要混用制表符和空格。最流行的Python缩进方式是仅使用空格,其次是仅使用制表符,混合着制表符和空格缩进的代码将被转换成仅使用空格。
3.行的最大长度
周围仍然有许多设备被限制在每行80字符:而且,窗口限制在80个字符。使将多个窗口并排放置成为可能。在这些设备上使用默认的折叠方式看起来有点丑陋。因此,请将所有行限制在最大80字符,对顺序排放的大块文本(文档字符串或注释),推荐将长度限制在72字符。
折叠长行的首选方法是使用Pyhon支持的圆括号,方括号和花括号内的行延续。如果需要,你可以在表达式周围增加一对额外的圆括号,但是有时使用反斜杠看起来更好,确认恰当得缩进了延续的行。
4.空行
用两行空行分割顶层函数和类的定义,类内方法的定义用单个空行分割,额外的空行可被用于(保守的)分割相关函数组成的群,在一组相关的单句中间可以省略空行。(例如:一组哑元素)。
当空行用于分割方法的定义时,在‘class’行和第一个方法定义之间也要有一个空行。在函数中使用空行时,请谨慎的用于表示一个逻辑段落。
5.编码
所有源文件采用UTF8编码。
6.必须要有的注释
6.1文件头说明
6.2类定义的注释、类成员的注释(特别是枚举型)
6.3函数定义的注释
6.4 if,for,while等循环,条件控制语句的注释
7.命名约定
命名要有意义,使用英文命名,不用中文命名。
8.模块名
模块应该是简短的,小写的名字。用下划线”_”连接多个单词。
9.类名
类名使用名词或者名词组合,每个单词的第一个字母大写。
10.函数名
函数名采用小写单词,多个单词时用下划线分割。
11.属性名
属性名采用小写名词,多个单词时用下划线分割。
12.变量名
函数名采用小写单词,多个单词时用下划线分割。
13.全局变量名
函数名采用小写单词,以g_开头命名,多个单词时用下划线分割。
- 宏定义/枚举变量
采用大写单词,多个单词时用下划线分割。
15.Web服务程序的代码分层
15.1 至少三层: 数据访问层,业务层,展示层
15.2 url路径的命名方式尽量采用下面的格式:/模块名称[/子模块名称]/功能名称;即相同模块下的url都是以相同的路径开始的,方便维护管理。
16.内存数据库的使用
内存数据库仅限用于访问加速,不能存放业务逻辑依赖的数据。
- Model使用
17.1大数据表禁止临时添加索引
17.2 Model字符串字段必须加备注
17.3 Model字符串字段必须指定存储长度
17.4 Model 相同字段命名要一致,如:创建时间created
17.5 表名不宜太长
- 代码merge
18.1 必须拉取上线分支和master分支最新代码
18.2 合并代码注意settings.py, requirements.txt 和models.py,关注每一次变化