PEP 8
Python编程风格指南
:PEP 8
是Python编程的官方风格指南,提供了关于代码格式、命名规范、注释等方面的建议。遵循PEP 8
可以使代码更易于阅读和维护
https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide
环境
开发python版本
python -V
虚拟环境:
安装虚拟环境工具:
pip install virtualenv
创建虚拟环境,导航到希望创建虚拟环境的目录
virtualenv myenv
在当前目录下创建一个名为“myenv”的虚拟环境
激活虚拟环境
myenv\Scripts\activate
激活虚拟环境后,命令提示符中的前缀应显示为虚拟环境的名称,例如“(myenv)”。
退出虚拟环境:
deactivate
依赖文件
requirements.txt
文件是一个项目的依赖文件,可以通过下面的方式自动生成:
进入虚拟环境,切换到项目根目录下,使用pip
工具的freeze
参数。
pip freeze > ./requirements.txt
打开requirements.txt
文件,其内容如下:
他人如果拷贝了我们的代码,要安装第三方库依赖的话,只需要:
pip install -r requirements.txt
就可以一次性安装好所有的库
.gitignore
文件
在项目代码中,有一些文件是不能上传的,比如密码文件、数据库文件、核心配置文件等等,还有一些是不用上传的,比如临时文件。为了让git自动忽略这些文件,我们需要创建一个忽略名单。
在Git项目中,我们可以使用.gitignore文件来指定需要忽略的文件和目录,在项目根目录下新建一个.gitignore文件
以下是一个简单的.gitignore文件示例,用于忽略密码文件、数据库文件、核心配置文件和临时文件:
# 忽略密码文件
*.pem
*.key
*.crt
# 忽略数据库文件
*.db
*.sqlite
# 忽略核心配置文件
config.yml
config.json
# 忽略临时文件
*.tmp
*.bak
在这个示例中,我们使用通配符(*)
来匹配特定类型的文件。例如,*.pem
表示忽略所有扩展名为.pem的文件。我们还可以使用目录名来忽略整个目录
,例如/logs表示忽略名为logs的目录及其所有内容。
在实际项目中,我们需要根据项目的具体需求来编写.gitignore文件。在添加、修改或删除.gitignore
文件后,Git会自动更新忽略规则。如果需要忽略已经被跟踪的文件,可以使用git rm --cached <file>
命令将其从Git跟踪列表中移除,但保留在本地文件系统中
特殊文件处理
对于settings.py文件这些,如果没有这个文件是无法运行Django项目的,但是settings中又可能包含很多关键的不可泄露的部分,比如SECRET_KEY等,
我的建议是在原文件或readme.md
文件写入相关修改信息
说明文件(自述)
readme.md
文件是项目的入口和门面,它有助于提高项目的可读性和可维护性。在实际项目中,我们需要根据项目的具体需求来编写README.md
文件,以便让其他开发者更容易理解和使用项目。
# 项目名称
简短的项目描述。
功能列表:使用无序列表(-)来列出项目的主要功能。这有助于让读者了解项目的核心价值和用途。
## 功能
- 功能1:描述功能1的主要功能和用途。
- 功能2:描述功能2的主要功能和用途。
安装和配置:描述如何安装和配置项目,包括依赖库、环境变量等。这有助于让读者了解如何在本地环境中运行和测试项目。
## 安装
描述如何安装和配置项目,包括依赖库、环境变量等。
使用说明:描述如何使用项目,包括API调用、命令行参数等。这有助于让读者了解如何使用项目的各种功能。
## 使用
描述如何使用项目,包括API调用、命令行参数等。
示例:提供一些使用示例,以便读者更好地理解项目的用途和功能。这有助于让读者了解如何在实际项目中应用该项目。
## 示例
提供一些使用示例,以便用户更好地理解项目的用途和功能。
贡献指南:描述如何为项目贡献代码、报告问题和提交请求。这有助于让读者了解如何参与项目的开发和维护。
## 贡献
描述如何为项目贡献代码、报告问题和提交请求。
许可证信息:描述项目的许可证信息,如MIT、GPL等。这有助于让读者了解项目的版权和许可状况。
## 许可证
描述项目的许可证信息,如MIT、GPL等。
许可证
GitHub支持的开源许可证有很多,如Apache
、MIT
、GPL
、BSD、CC0、EPL、AGPL
这些许可证可以分为两大类:宽松式许可证
和Copyleft许可证
。
宽松式许可证
宽松式许可证保证了使用、修改和重新分发的自由,同时也允许创建专有的派生作品,但要求他们保留你的版权声明和许可证。这类许可证中,最简洁明了和最受欢迎的是MIT
许可证。
Copyleft许可证
Copyleft许可证则要求在使用开源组件时,必须向他人开放你的代码。GPL许可证族是这类许可证中最早出现也是最流行的一种,包含许多版本和变种.
Linux的开源许可证有Apache许可证,MIT许可证,GNU通用公共许可证(GPL)等,这些许可证共同构成了Linux开源生态系统的基础,确保了Linux代码的自由使用和共享,同时也保护了开发者和贡献者的权益。
比如拿MIT举例