目标
- 变量名避免使用缩写词
- 函数参数名要有意义
- 类和方法一定要有文档
- 写好注释
- DRY,将重复的代码行重构成函数或方法
- 函数和方法所含的代码行要保持短小。一个很好的检验法则是:无需滚动就可以看到整个的函数/方法体。
PEP 8
遵循 Python 的 PEP8 约定,见Python 代码风格指南 PEP8 摘要。
- 每层缩进使用 4 个空格
- 开源项目每行限制最长 79 个字符,私人项目每行可限制为 99 个字符
- 顶层函数和类的定义要用两行空行分隔
- 类中的方法定义用一行空行分隔
-
import
顺序: 1): 标准库 2): Django 核心代码库 2): 与 Django 相关的第三方代码库 3): 自己项目的代码库例如:
# Stdlib imports
from __future__ import absolute_import
from math import sqrt
from os.path import abspath
# Core Django imports
from django.db import models
from django.utils.translation import ugettext_lazy as _
# Third-party app imports
from django_extensions.db.models import TimeStampedModel
# Imports from your apps
from splits.models import BananaSplit
- 使用显式的相对导入法,如:
from __future__ import absolute_import
from django.views.generic import CreateView
# Relative imports of the 'cones' package
from .models import WaffleCone
from .forms import WaffleConeForm
from core.views import FoodMixin
- 不要使用
import *
,它会污染你的代码命名空间。
举例来说, django.forms
中有 CharField
,django.db.models
也有 CharField
, 那么以下的代码:
from django.forms import *
from Django.db.models import *
导入的 models 中的 CharField
将覆盖 forms 中的 CharField
。
Django 代码风格指南
-
Django 项目优先遵循 Django 自己的风格。
-
在 URL Pattern 中使用下划线
_
,不要用破折号-
,如:
patterns = [
url(regex='^add/$',
view=views.add_topping,
name='add_topping'),
]
- 在 模板 block 名中使用下划线
_
,不要用破折号-
JS、HTML 与 CSS 风格指南
JavaScript 代码风格
JavaScript 没有官方的风格指南,推荐以下几种风格,可以选一种适合自己口味的。
- idiomatic.js: 编写一致、地道的 JavaScript 代码
- Pragmatic.js 代码风格指南
- Airbnb JavaScript 风格指南
- Node.js 风格指南
- JavaScript 编程语言代码规范
可以使用 JSCS 工具来对 JavaScript 代码风格进行检查。
HTML 和 CSS 风格指南
可以使用 CSScomb 工具来对 CSS 代码风格进行检查。