# jumpserver-1.4.3 **Repository Path**: cswr/jumpserver-1.4.3 ## Basic Information - **Project Name**: jumpserver-1.4.3 - **Description**: jumpserver1.4.3源码研究 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jumpserver-1.4.3 #### 介绍 jumpserver1.4.3源码研究 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 规范 语言框架: 1. Python3.6.6 2. Django1.11 3. Saltstack2019.2 4. Channels2.3.1 5. Djangorestframework3.9 6. Celery3.1.26 Django 规范: 1. 尽量使用Class Base View编程,更少代码 2. 使用rest_framework API 3. 每个URL独立命名,不适用硬编码,同理static也一样 4. 数据库表名使用默认,没有手动指定 5. 代码优雅简洁 6. 注释明确优美 7. 尽可能使用Django造好的轮子 代码风格: Python方面大致的方格 基本的代码布局: 缩进 1. Python严格采用4个空格进行缩进,任何Python代码都必须遵守此规定 2. Web部分代码(Html,Css,Js)采用工具进行格式化 空行 顶层函数与类之间空两行,此外都只空一行 命名约定 1. 类名称: 采用驼峰拼写法(CameCase),首字母缩略词保持大写不变 2. 变量名: 小写_以及_下划线(lowercase_with_undersocres) 3. 方法与函数名: 小写_以及_下划线 4. 常量: 大写_以及_下划线(UPPERCASE_WITH_D) 5. 预编译的正则表达式: name_re 6. 受保护的元素以一个下划线_为前缀 7. 命名要有寓意,最好不适用拼音,不适用无意义的简单字母(for I in) 8. 命名缩写要谨慎,尽量是大家认可的缩写 函数和方法的参数: 1. 类方法: cls为第一个参数 2. 实例方法: self为第一个参数 3. Property 函数中使用匿名函数(lambdas)时,匿名函数的第一个参数可以使用x替代,例如 display_name = property(lambad x: x.real_name or x.username) 文档注释 所有文档字符串均已reStructuredText格式编写,方便Spinx处理。文档字符串的行数不同,布局也不一样,如果只有一行,代表字符串结束的三个引号与代表字符串开始的三个引号在同一行,如果为多行,文档字符串中的文本紧接着代表字符串开始的三个引号,代表字符串结束的三个引号则自己独立成一行。有能力尽可能使用英文,否则请中文有呀注释。 def foo(): """This is a simple docstring.""" def bar(): """This is a longer docstring with so much information in there that it spans three lines. In this case, the closing triple quote is on its own line. """ 模块头部 模块文件的头部包含有utf-8编码声明,如果模块中使用了非ASCII编码的字符,建议进行声明,以及标准的文档字符串 注释 注释的规范与文档字符串编写规范类似,二者均以reStructuredText格式编写,如果使用注释来编写类属性的文档,请在#符号后添加一个冒号