- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PEP8编码规范-腾讯蓝鲸
前言:蓝鲸开发规范主要包括应用开发的代码,用户设计体验,安全和性能等的规范和建
议,以下将用【必须】来表示开发工程中必须遵守的规范,其他均为建议。
PEP 8
Python 编码规范:/dev/peps/pep-0008/
• 1.Eclipse 中配置 PEP 8 代码提示
将 PyDev 升级到高于 2.3.0 版本,打开 Window Preferences PyDev Editor Co
• 2.PyCharm 配置 PEP 8 代码提示
直接在右下角调整 Highlighting Level 为 Inspections 就能自动 PEP 8提示
•
• 3.建议修改在使用的 IDE 中修改 PEP8 的每行字数不超79字符规范,可修改为
Django 建议的 119 字符
说明:其他编辑器或ID E配置请自行搜索
编码规范
【必须】代码编码
• 1.国际惯例,文件编码和 Python 编码格式全部为 utf-8 ,例如:在 Python 代码的
开头,要统一加上 # -*- coding: utf-8 -*-。
• 2.Python 代码中,非 ascii 字符的字符串,请需添加u前缀
•
• 3.若出现 Python编 码问题,可按照以下操作尝试解决:
在 Python 的安装路径中下的 /Lib/site-packages 下面创建文件 sitec
•
如果没有加入该文件,则在有编码问题的 .py 代码中,加入以下代码:
•
Python编码规范
【必须】命名规范
• 1.包名、模块名、局部变量名、函数名
全小写+下划线式驼峰
示例:this_is_var
• 2.全局变量
全大写+下划线式驼峰
示例:GLOBAL_VA R
• 3.类名
首字母大写式驼峰
示例:ClassName()
• 4.变量名命名
尽量体现变量的数据类型和具体意义
注:
• 变量名、类名取名必须有意义,严禁用单字母
• 变量名不要用系统关键字,如 dir type str等等
建议:
• bool变量一般加上前缀 is_ 如:is_success
【必须】 import 顺序
• 标准库
• 第三方库
• 项目本身
• (之间空行分隔)
注:
• 尽量不要引用
•
【必须】 models 内 定义顺序
• 1.All database fields
• 2.Custom manager attributes
• 3.class Meta
• 4.def (str)
• 5.def save()
• 6.def get_absolute_url()
• 7.Any custom methods
异常捕获处理原则
• 1.尽量只包含容易出错的位置,不要把整个函数 try catch
• 2.对于不会出现问题的代码,就不要再用 try catch了
• 3.只捕获有意义,能显示处理的异常
• 4.能通过代码逻辑处理的部分,就不要用 try catch
• 5.异常忽略,一般情况下异常需要被捕获并处理 ,但有些情况下异常可被忽略,只
需要用 log 记录即可,可参考一下代码:
•
return early原则
提前判断并 return,减少代码层级,增强代码可读性
if not condition:
return
# a lot if code
Fat model, thin view
逻辑代码和业务代码解耦分离,功能性函数以及对数据库的操作定义写在 models 里面,
业务逻辑写在 view 里面。
改为
权限校验装饰器异常抛出问题
建议权限不足时直接抛出异常,可以使用 django 自带的:
from django.core.exceptions import PermissionDenied
权限不足时抛出异常
文档评论(0)