近日的工程实践中须要搭建一个简易的服务器,提供RestFul的接口。为了快速搭建起服务器(暂时不考虑并发性能),初步调研后决定使用Django来搭建服务器。如下是对其源码的简单分析。python
django的顶层目录主要存放一些安装配置文件,其核心的功能实现位于django文件夹中,文档存放于docs,测试用例位于tests文件夹。django
再看其核心的实现,能够直观地看出django使用的是MVT的架构,以及其核心组成。经过这两层目录咱们能够看到,django文件夹以及文件(除签名等文件)的命名均使用小写字母,单词见使用_分隔。其核心组件主要有模型(ORM框架),用户管理界面,URL控制器,模板语言以及缓存系统缓存
这里选取中间件中的 clickjacking.py来进行分析服务器
首先是开头的注释,文件的多行注释使用三引号包裹,单行注释使用#号。通常在文件开头经过多行注释说明文件的功能以及使用方式,在函数的开头说明函数的功能。采用面向对象的设计方式,类名以大写字母开头,使用驼峰命名法。函数名使用小写字母,以_分隔,变量名同函数名。这些作法都符合Python代码规范和风格通常要求,遵循了“代码的简洁、清晰、无歧义”的基本原则。架构
1.不要在行尾加分号, 也不要用分号将两条命令放在同一行。并发
2.每行尽可能避免超过80个字符框架
3.用4个空格来缩进代码,绝对不要用tab, 也不要tab和空格混用. ide
4.顶级定义之间空两行, 方法定义之间空一行函数
5.大部分.py文件没必要以#!做为文件的开始. 根据 PEP-394 , 程序的main文件应该以 #!/usr/bin/python2或者 #!/usr/bin/python3开始.性能
6.类应该在其定义下有一个用于描述该类的文档字符串. 若是你的类有公共属性(Attributes), 那么文档中应该有一个属性(Attributes)段. 而且应该遵照和函数参数相同的格式.