当前位置: 首页 > 后端技术 > Python

Python代码命名约定详解

时间:2023-03-26 16:08:56 Python

代码命名约定。没必要,但是非常非常有必要!!!这是一个介绍。一、拒绝常用词1、写代码时,无论是全局变量还是局部变量,都应避免使用'list'、'dict'、'elements'等词作为变量名,它们会使代码吃力阅读,理解。2、'abs'、'str'、'eval'等内置函数也要避免,以免出现被阻塞在当前命名空间的尴尬情况。3.一些列前缀和后缀。尽管在编程中很常见,但实际上应该避免在函数和类名称中使用诸如“object”、“handle”、“do”等词,因为它们含糊不清,而且没有向实际名称添加任何信息。4.很多包名要避免,'tools','utils','core'之类的名字很可能变成一堆无关紧要的、质量很差的代码片段,虽然它们在名字上并没有本质上的错误,但是为了防止出现问题,还是直接把它作为自己自定义包的名字扼杀在萌芽状态。2.使用技术术语这是第1部分的扩展,拒绝常用词,而是使用特定领域特定的术语,例如下面的代码:defcalculation(datas):fordataindatas:yielddata**2这部分有代码的命名存在一些问题。比如函数名calculation就是计算的意思。计算有很多种。计算方法是什么?这个很不直观,如果改成下面这样:defsquares(numbers):fornumberinnumbersyieldnumber**2这种命名方式比第一种要清晰得多。3.使用'has'或'is'前缀来命名bool元素对于保存布尔值的变量,在它们前面加上'has'或'is'以使其在代码中更具可读性:is_succeed=Truehas_cache=False4.避免命名上下文中已经存在的不要在代码中继续使用已有的名字,这样在阅读代码的时候会很混乱,尤其是单步调试出现bug的时候,更是让人抓狂!例如像下面这样:importosdefsquares(numbers):forosinnumbers:yieldos**2在上面的例子中,如果你使用os模块做其他事情,它可能没有任何效果。同样,内置函数名和标准库模块名都应避免5.集合变量使用复数形式如果元素是集合变量,最好使用复数形式,例如:users=['洛基','leey']6。以key-value命名字典名对于字典来说,它存储的是一个映射关系的数据,所以我们尽可能用映射的两边命名,即key-value的意思,例如:一个字典保存了学生的成绩,那么它可以命名为'students_scores':students_scores={'Rocky':100,'leey':60}7.命名模块和包名称应该反映他们表达的意思,他们的名字应该简短,它们应该是小写的并且没有下划线,再次始终避免与标准库模块相同的名称。8.代码风格Python官方提供了一个编码标准PEP8。当然这只是一个标准,并不是强制所有人都遵循,但是似乎大多数人都使用PEP8编码风格,这使得它已经成为事实上的编码风格标准。免费下载试用:https://support.i-search.com.cn/