SuooL's Blog

蛰伏于盛夏 藏华于当春

python 命名规范

引言

代码强迫症…
这里的命名规范参考 PEP8

代码编码

  • 代码文件规范。文件编码和 Python 编码格式全部为 utf-8 ,在 Python 代码的开头,要统一加上 # -*- coding: utf-8 -*-
    在 Pycharm 中创建对应文件模板,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
File Name: ${NAME}
Description :
Author : ${USER}
date: ${DATE}
-------------------------------------------------
Change Activity:
${DATE}:
-------------------------------------------------
"""
__author__ = '${USER}'

效果如下:
文件模板

  • Python 代码中,非 ascii 字符的字符串,请需添加 u 前缀:
    F2088715-FC5A-45EC-9026-E49133F6FB

编码规范

命名规范

  • 包名、模块名、局部变量名、函数名 均为:全小写+下划线式驼峰 示例 this_is_var
  • 全局变量:全大写+下划线式驼峰示例:GLOBAL_VAR
  • 类名:首字母大写式驼峰 示例:ClassName()
  • 变量名命名:尽量体现变量的数据类型和具体意义,变量名、类名取名必须有意义,严禁用单字母,变量名不要用系统关键字,
  • 建议:bool变量一般加上前缀 is_ 如:is_success

import 顺序

  • 标准库
  • 第三方库
  • 项目本身
  • (之间空行分隔)
    注:
  • 尽量不要引用

models 内部 定义顺序

  • All database fields
  • Custom manager attributes
  • class Meta
  • def (str)
  • def save()
  • def get_absolute_url()
  • Any custom methods

异常捕获处理原则

  1. 尽量只包含容易出错的位置,不要把整个函数 try catch
  2. 对于不会出现问题的代码,就不要再用 try catch了
  3. 只捕获有意义,能显示处理的异常
  4. 能通过代码逻辑处理的部分,就不要用 try catch
  5. 异常忽略,一般情况下异常需要被捕获并处理,但有些情况下异常可被忽略,只需要用 log 记录即可,可参考一下代码:E615FA5F-F436-4856-868D-1095728ED2DB

空格的使用

总体原则,避免不必要的空格。

  1. 各种右括号前不要加空格。
  2. 逗号、冒号、分号前不要加空格。
  3. 函数的左括号前不要加空格。如 Func(1)
  4. 序列的左括号前不要加空格。如 list[2]
  5. 操作符左右各加一个空格,不要为了对齐增加空格。
  6. 函数默认参数使用的赋值符左右省略空格。
  7. 不要将多句语句写在同一行,尽管使用‘;’允许。
  8. if/for/while 语句中,即使执行语句只有一句,也必须另起一行。

其他代码规范

  1. 提前判断并 return,减少代码层级,增强代码可读性
  2. 缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。
  3. 类和 top-level 函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。
泡面一杯