Python 代码命名规范详解

代码命名规范。不是必须的,可是十分、很是必要的!!!
这边作一下介绍。编程

1. 拒绝通用词
一、写代码的时候,无论是全局变量仍是局部变量,都应该避免使用 ‘list’、‘dict’、‘elements’ 等词做为变量名,它们会使代码变的难以阅读、理解。函数

二、像 ‘abs’、‘str’、‘eval’ 等内置函数也应该避免使用,防止出如今当前命名空间中被屏蔽的尴尬状况。编码

三、一些列的前缀和后缀。虽然在编程中很是常见,但事实上应该避免出如今函数和类名称中,好比 ‘object’、‘handle’、‘do’ 等词,这样作的缘由是它们的含义模糊,摸棱两可,而且没有向实际名称中添加任何信息。调试

四、许多包的名称都应该被避免,诸如 ‘tools’、‘utils’、‘core’ 的名称很大可能会变成一大堆不相关的、质量很是差的代码片断,虽然它们在名称上并无本质的错误,但为了防止问题的出现,仍是直接将其做为本身自定义包的命名扼杀在萌芽状态为好。code

2. 使用专业术语
这个算是 1 部分的延申,拒绝通用词,相反的使用特定领域特定的专业术语,好比下面的代码:element

def calculation(datas):
    for data in datas:
        yield data ** 2

这部分代码的命名就有些问题,好比函数名 calculation 是计算的意思,计算分不少种,到底计算什么呢?这样很不直观,若是是换成下面这样:get

def squares(numbers):
    for number in numbers
        yield number ** 2

这种的命名就比第一种清晰明了不少。io

3. 用 ‘has’ 或 ‘is’ 前缀命名 bool 元素
对于保存布尔值的变量,对其命名的时候将 ‘has’ 或 ‘is’ 做为其前缀,能够使它们在代码中的可读性更强:import

is_succeed = True
has_cache = False

4. 避免出现上下文中已存在的名称
不要在代码中继续使用已经存在的名称,这会在阅读代码的时候很是使人疑惑,尤为是在出现 bug 进行单步调试的时候,更是使人抓狂!好比像下面这样:变量

import os

def squares(numbers):
    for os in numbers:
        yield os ** 2

上面这个例子中,若是你再使用 os 模块作其它事情,可能会没什么效果。仍是那句话,内置函数名和标准库的模块名都应该被避免

5. 集合变量用复数形式命名
若是一个元素是集合变量,那么使用复数形式是一个很好的办法,好比像下面这样:

users = ['Rocky', 'leey']

6. 以 key - value 命名字典名
对于字典来讲,它保存的是一个映射关系的数据,那咱们命名就尽可能以映射的双方来命名,也就是 key 含义 - value 含义,好比:一个字典保存的是学生的成绩,那么能够将它命名为 ‘students_scores’:

students_scores = {
    'Rocky': 100,
    'leey': 60
}

7. 模块和包的命名
模块和包的命名应该体现其表达的内容,它们的名称应该简短,应该使用小写字母而且不带下划线,一样还要始终避免与标准库模块相同的名称。

8. 代码风格
Python 官方给出了一种编码规范 PEP 8,固然这个只是个标准而已,并无强制要求你们都要去遵照,但又好像大多数人都使用了 PEP 8 编码风格,使它已经成为了事实上的代码风格标准。

免费下载试用:https://support.i-search.com.cn/

相关文章
相关标签/搜索