python里用变量命名改善代码质量

时间:2023-03-08 16:31:50

编程时,总会遇到各种各样的变量,取一个好的变量名能够有效提高代码的可读性,而且python是一种,动态类型的语言,良好的变量名,能够在编写代码或者再次阅读代码时提高效率。

1. 变量名不要太宽泛,要有描述性

在可接受的长度内,变量名能把它所指向的内容描述的越具体越好。

BAD:day, task
GOOD:day_of_week, task_todo

这样在读到变量名的时候,就能更精确的知道变量代表的内容

2.变量名最好能让人猜出什么类型

python中常用的变量类型有布尔类型,数字类型,列表类型

1. 什么样的命名让人更容易想到这是布尔类型的值?

布尔类型的值只有两种,是或者不是,用is,has等这种非黑即白的值能够很好的表示这种类型。总之,起名的原则就是,让人读到这个变量名,觉得这个变量的值只有是或者不是。

比如:

is_valid:是否有效
has_perms: 是否有权限

2. 数字类型(int/float)的值的变量名,最好和数字相联系

比如

表示数量的单词:age(年龄) count(数量)
以id结尾的单词:user_id
加数量修饰符的命名:
length_of_name,goods_numbers,run_times

注意:不要用简单的复数来命名 apples 不如 apples_numbers 有可读性

3.列表类型和元祖类型,习惯加list后缀来表示这种变量  比如,goods_list,users_list,对于字典类型的,习惯加dict后缀来表示这种变量,比如,headers_dict,这样的话能在我们阅读代码或者使用这些变量的时候能够带来极大的方便。

4.其他类型的数据根据具体情况去命名,比如string类型,name,description,最好能够做到见形思义

3.适当使用匈牙利命名法

匈牙利命名法就是把变量的『类型』缩写,放到变量名的最前面。这里的『类型』并非指传统的变量类型,而是指那些与你代码逻辑相关的类型。

比如当你要使用一个对象goods里面的变量时,你就可以将goods.name --> g_name,goods.nums --> g_nums,这样就能知道name和nums指向的类型了

适当使用匈牙利命名法,能够很好地提高代码的可读性,但也不要滥用,让代码看起来不够整洁。

4.其他可能出现的问题

变量名尽量短,最好能够控制在2到3个单词左右

同一段代码内最好不要使用过于相似命名,比如user1,user2,user3等

变量名的前后最好保持一致性,如果在一个类里面定义了mobile,而在后面的赋值中却使用了phone,这样很容易让人引起迷惑,phon和mobile到底指的是不是同一个东西。