首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第4章 选择易懂的名称
4.1 命名风格
4.2 PEP 8 的命名风格
4.3 适当的名称长度
4.3.1 太短的名称
4.3.2 太长的名称
4.4 起易于搜索的名称
4.5 避免笑话、双关语和需要文化背景才能理解的词汇
4.6 不要覆盖内置名称
4.7 史上最差的变量名
第5章 揪出代码的坏味道
5.1 重复的代码
5.2 魔数
5.3 注释掉的代码和死代码
5.4 打印调试
5.5 带有数字后缀的变量
5.6 本该是函数或者模块的类
5.7 嵌套列表解析式
5.8 空的except块和糟糕的错误信息
5.9 代码坏味道的谬误
5.9.1 谬误:函数应该仅在末尾处有一个return语句
5.9.2 谬误:函数最多只能有一个try语句
5.9.3 谬误:使用flag参数不好
5.9.4 谬误:全局变量不好
5.9.5 谬误:注释是不必要的
第6章 编写Python 风格的代码
6.1 Python 之禅
6.2 学着喜欢强制缩进
6.3 使用timeit模块衡量性能
6.4 常被误用的语法
6.4.1 使用enumerate()而不是range()
6.4.2 使用with 语句代替open()和close()
6.4.3 用is 跟None 做比较而不用==
6.5 格式化字符串
6.5.1 如果字符串有很多反斜杠,请使用原始字符串
6.5.2 使用f-string 格式化字符串
6.6 制作列表的浅副本
6.7 以Python 风格使用字典
6.7.1 在字典中使用get()和setdefault()
6.7.2 使用collections.defaultdict()设置默认值
6.7.3 使用字典代替switch 语句
6.8 条件表达式:Python“丑陋”的三元运算符
6.9 处理变量的值
6.9.1 链式赋值和比较运算符
6.9.2 验证变量是否为多个值中的一个
当前位置:
首页>>
技术小册>>
Python编程轻松进阶(二)
小册名称:Python编程轻松进阶(二)
### 第4章 选择易懂的名称 在编程的世界里,代码不仅仅是机器能够理解的指令集合,更是人类智慧的结晶。良好的代码质量,除了功能上的准确无误外,还体现在其可读性和可维护性上。而在这其中,为变量、函数、类、模块等编程元素选择易懂的名称,是提升代码可读性至关重要的一步。本章将深入探讨如何在选择名称时遵循一系列最佳实践,以确保你的Python代码既清晰又易于理解。 #### 4.1 引言:命名的重要性 在编程的初期,我们可能会因为急于实现功能而忽略命名的重要性,但随着项目规模的扩大和团队成员的增加,糟糕的命名习惯将迅速成为代码维护的噩梦。一个好的名称能够立即传达出元素的作用、范围或意图,减少阅读和理解代码的时间成本。因此,将选择易懂名称视为编程过程中的一项基本技能,是每位程序员都应具备的素养。 #### 4.2 命名原则 ##### 4.2.1 清晰性 清晰性是最基本的要求。名称应该直接反映它所代表的内容,避免使用模棱两可或含糊不清的词汇。例如,使用`calculate_sum`而不是`c_sum`,前者清晰地表明了这是一个计算总和的函数。 ##### 4.2.2 准确性 准确性要求名称不仅要清晰,还要准确无误地描述其功能或属性。例如,一个用于检查用户权限的函数应该命名为`check_user_permission`,而不是`verify_access`,因为后者可能引发对访问控制、身份验证等多种含义的误解。 ##### 4.2.3 简洁性 虽然清晰性和准确性是首要考虑的因素,但也要避免使用过长的名称。冗长的名称不仅难以记忆,还会增加阅读负担。在保持清晰准确的前提下,尽量使用简短的词汇或缩写。 ##### 4.2.4 一致性 在整个项目中保持命名风格的一致性也是非常重要的。例如,如果决定使用驼峰命名法(CamelCase)来命名类,那么所有的类名都应该遵循这一规则。一致性有助于读者快速适应项目的命名风格,提高阅读效率。 #### 4.3 命名技巧 ##### 4.3.1 使用描述性词汇 尽可能使用能够准确描述对象、函数或变量用途的词汇。比如,对于存储用户邮箱地址的变量,命名为`user_email`比`email_addr`或`e`更加直观。 ##### 4.3.2 避免使用魔法数字或字符串 直接在代码中使用数字或字符串(尤其是那些没有上下文很难理解的)作为参数或常量值,会大大降低代码的可读性。应将这些值定义为常量,并赋予它们有意义的名称。 ##### 4.3.3 利用前缀和后缀 在某些情况下,为变量或函数名添加前缀或后缀可以帮助读者更好地理解其用途或类型。例如,布尔变量前加`is_`(如`is_valid`),列表或集合变量后加`_list`或`_set`(如`user_ids_list`)。 ##### 4.3.4 使用动词命名函数 函数通常执行某个操作,因此使用动词或动词短语来命名函数是一个好习惯。这有助于读者快速理解函数的功能。例如,`calculate_discount`、`send_email`等。 ##### 4.3.5 避免使用保留字和Python内置名称 Python有许多保留字和内置名称,如`if`、`for`、`list`等。在命名时应避免使用这些词汇,以免造成混淆或语法错误。 ##### 4.3.6 考虑上下文和可读性 在选择名称时,要考虑到代码的上下文环境。一个名称在某个上下文中可能是清晰易懂的,但在另一个上下文中可能会产生歧义。因此,要站在读者的角度,思考如何命名才能最大限度地提高代码的可读性。 #### 4.4 实践案例 ##### 4.4.1 变量命名 ```python # 不好的命名 x = 10 # 读者不知道x代表什么 email = "user@example.com" # 更好的命名,直接表明了变量的用途 # 好的命名实践 user_age = 25 product_price = 99.99 ``` ##### 4.4.2 函数命名 ```python # 不好的命名 def f1(a, b): return a + b # 好的命名 def calculate_sum(number1, number2): return number1 + number2 def send_welcome_email(email_address): # 发送欢迎邮件的逻辑 pass ``` ##### 4.4.3 类命名 ```python # 不好的命名 class C: pass # 好的命名 class User: def __init__(self, name, age): self.name = name self.age = age class Product: def __init__(self, name, price): self.name = name self.price = price ``` #### 4.5 命名陷阱与误区 - **过度缩写**:虽然简洁性很重要,但过度缩写会牺牲清晰性。例如,使用`usr`代替`user`可能会让不熟悉代码的读者感到困惑。 - **使用模糊词汇**:如`data`、`info`等词汇过于宽泛,无法准确描述变量的具体内容。应尽量避免使用这类词汇,除非在上下文中非常明确。 - **忽视上下文**:在不同的上下文中使用相同的名称可能会引发混淆。因此,在选择名称时要充分考虑当前的上下文环境。 - **迷信命名规范**:虽然命名规范(如驼峰命名法、下划线命名法等)有助于保持代码的一致性,但不应盲目遵循。应根据项目的实际情况和团队偏好来选择最合适的命名风格。 #### 4.6 结语 选择易懂的名称是提升代码可读性和可维护性的关键步骤之一。通过遵循清晰性、准确性、简洁性和一致性等命名原则,并灵活运用描述性词汇、避免魔法数字、利用前缀和后缀等命名技巧,我们可以编写出既高效又易于理解的Python代码。记住,好的命名习惯需要长期的积累和坚持,但一旦养成,将会为你的编程生涯带来巨大的益处。
下一篇:
4.1 命名风格
该分类下的相关小册推荐:
机器学习算法原理与实战
Python3网络爬虫开发实战(上)
Python3网络爬虫开发实战(下)
Python机器学习实战
Python合辑11-闭包函数
Python与办公-玩转Excel
Python高性能编程与实战
Python合辑9-判断和循环
Python机器学习基础教程(上)
Python合辑5-格式化字符串
Python编程轻松进阶(三)
Python合辑10-函数