PEP8基本规范:
建议修改在使用的 IDE 中修改 PEP8 的每行字数不超79字符规范,可修改为 Django 建议的 119 字符
一、python编码规范:
(一)代码编码:
1、国际惯例,文件编码和 Python 编码格式全部为 utf-8 ,例如:在 Python 代码的开头,要统一加上 # -- coding: utf-8 --。
2、Python 代码中,非 ascii 字符的字符串,请需添加u前缀
3、若出现 Python编 码问题,可按照以下操作尝试解决:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
123
(二)命名规范:
1、包名、模块名、局部变量名、函数名
全小写+下划线式驼峰 示例:this_is_var
1
2、全局变量
全大写+下划线式驼峰 示例:GLOBAL_VAR
1
3、类名
首字母大写式驼峰 示例:ClassName()
1
4、变量名命名
尽量体现变量的数据类型和具体意义
1
注:
变量名、类名取名必须有意义,严禁用单字母
变量名不要用系统关键字,如 dir type str等等
12
建议:
bool变量一般加上前缀 is_ 如:is_success
1
(三)、import 顺序:
1、标准库 2、第三方库 3、项目本身
(之间用空行分隔)
12
(四)、models 内部定义顺序:
All database fields
Custom manager attributes
class Meta
def (str)
def save()
def get_absolute_url()
Any custom methods
(五)、异常捕获处理原则:
尽量只包含容易出错的位置,不要把整个函数 try catch
对于不会出现问题的代码,就不要再用 try catch了
只捕获有意义,能显示处理的异常
能通过代码逻辑处理的部分,就不要用 try catch
异常忽略,一般情况下异常需要被捕获并处理,但有些情况下异常可被忽略,只需要用 log 记录即可,可参考一下代码:
def ignored():
try:
yield
except Exceptions as e:
logger.warning(e)
pass
(六)、return early原则
提前判断并 return,减少代码层级,增强代码可读性(简单逻辑往前放)
if not condition