给Python代码命名的的规范-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

为沙湾等地区用户提供了全套网页设计制作服务,及沙湾网站建设行业解决方案。主营业务为网站建设、网站设计、沙湾网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

这篇文章给大家分享的是有关给Python代码命名的的规范的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

1、拒绝通用词

(1)写代码的时候,不管是全局变量还是局部变量,都应该避免使用 'list'、'dict'、'elements' 等词作为变量名,它们会使代码变的难以阅读、理解。

(2)像 'abs'、'str'、'eval' 等内置函数也应该避免使用,防止出现在当前命名空间中被屏蔽的尴尬情况。

(3)一些列的前缀和后缀。虽然在编程中非常常见,但事实上应该避免出现在函数和类名称中,比如 'object'、'handle'、'do' 等词,这样做的原因是它们的含义模糊,摸棱两可,并且没有向实际名称中添加任何信息。

(4)许多包的名称都应该被避免,诸如 'tools'、'utils'、'core' 的名称很大可能会变成一大堆不相关的、质量非常差的代码片段,虽然它们在名称上并没有本质的错误,但为了防止问题的出现,还是直接将其作为自己自定义包的命名扼杀在萌芽状态为好。

2、使用专业术语

这个算是 0x00 的延申,拒绝通用词,相反的使用特定领域特定的专业术语,比如下面的代码:

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

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

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

这种的命名就比第一种清晰明了很多。

3、用 'has' 或 'is' 前缀命名 bool 元素

对于保存布尔值的变量,对其命名的时候将 'has' 或 'is' 作为其前缀,可以使它们在代码中的可读性更强:

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 编码风格,使它已经成为了事实上的代码风格标准。

感谢各位的阅读!关于给Python代码命名的的规范就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

分享题目:给Python代码命名的的规范-创新互联
分享地址:https://www.cdcxhl.com/article6/cogdog.html

成都网站建设公司_创新互联,为您提供电子商务服务器托管品牌网站设计定制网站响应式网站动态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司