首页
技术小册
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.3.2 太长的名称:处理Python中的命名挑战与最佳实践 在Python编程的广阔天地里,命名是一项既基础又至关重要的技能。恰当的命名不仅能提升代码的可读性,还能让后续的维护和扩展工作事半功倍。然而,随着项目规模的扩大和功能的复杂化,我们时常会遇到“太长的名称”这一挑战。过长的变量名、函数名或类名不仅会让代码显得冗长、难以阅读,还可能隐藏着更深层次的设计问题。本章节将深入探讨如何有效应对这一挑战,分享一些实用的命名策略和最佳实践。 #### 4.3.2.1 识别“太长”的界限 首先,我们需要明确什么是“太长”的名称。这个界限并非绝对,它取决于多种因素,包括项目规范、代码上下文、以及团队成员的偏好。但一般来说,如果一个名称超过了能够在一行代码中清晰展示且不显得拥挤的长度,或者它包含了过多的冗余信息,那么就可以认为是“太长”了。 - **单行可读性**:在大多数编辑器或IDE中,一行代码的理想长度不应超过80-120个字符(这取决于具体设置)。过长的名称会迫使读者滚动或水平滚动来查看完整内容,降低了阅读效率。 - **信息冗余**:有时,名称中包含的信息过于详细,以至于其中部分信息是多余的。例如,在一个名为`calculate_monthly_interest_rate_for_savings_account`的函数中,`for_savings_account`可能是冗余的,如果这个函数只针对储蓄账户操作,那么它的上下文已经足够明确。 #### 4.3.2.2 精简名称的策略 面对过长的名称,我们可以通过以下几种策略来精简它们,同时保持代码的可读性和清晰度。 1. **使用缩写**: 合理的缩写可以大大缩短名称的长度。但需要注意的是,缩写应该是广泛认可的,或者至少在项目内部有明确的定义。避免使用容易引起歧义的缩写。 ```python # 原始名称 calculate_monthly_interest_rate_for_savings_account # 精简后 calc_monthly_interest_rate_savings ``` 2. **利用上下文**: 在函数或类内部,可以依赖其上下文来省略一些明确的信息。例如,在一个处理用户信息的类中,成员变量名`user_id`可以简化为`id`,因为类的上下文已经指明了它是在处理用户信息。 3. **使用描述性但简洁的词汇**: 选择既能准确描述对象或操作,又尽可能简短的词汇。这要求开发者对业务逻辑有深入的理解,并能准确提炼出关键信息。 4. **重构代码结构**: 有时,过长的名称是代码结构不合理的结果。通过重构,将复杂的逻辑拆分成更小的、职责单一的函数或类,可以自然地缩短名称。 ```python # 原始结构 def handle_user_login_and_check_permissions_and_update_session(): # ... # 重构后 def login_user(user): # ... def check_permissions(user): # ... def update_session(user): # ... ``` #### 4.3.2.3 命名最佳实践 除了上述的精简策略外,还有一些通用的命名最佳实践可以帮助我们避免过长的名称,同时提升代码的整体质量。 1. **遵循PEP 8等编码规范**: PEP 8是Python的官方编码规范,它提供了关于命名、缩进、注释等方面的详细指导。遵循这些规范有助于保持代码的一致性和可读性。 2. **使用清晰的命名约定**: 在项目内部,应建立并遵循一致的命名约定。例如,使用驼峰命名法(CamelCase)或下划线命名法(snake_case)来区分变量名、函数名和类名。 3. **避免使用无意义的或过于通用的名称**: 如`temp`、`data`、`info`等名称虽然简短,但缺乏描述性,容易让读者感到困惑。尽量使用能够准确反映对象或操作本质的名称。 4. **利用文档和注释**: 当名称无法完全表达代码的意图时,可以通过编写文档字符串(docstrings)或注释来提供额外的信息。但请注意,注释应简洁明了,避免重复代码中的信息。 5. **代码审查和反馈循环**: 通过定期的代码审查,团队成员可以相互学习、分享命名经验,并指出潜在的命名问题。建立有效的反馈循环,有助于持续改进命名质量。 #### 4.3.2.4 案例分析 假设我们正在编写一个用于处理图书信息的Python应用。在早期的版本中,我们可能会遇到这样的函数命名: ```python def update_book_information_in_database_and_notify_user_if_success(): # ... ``` 这个函数名显然过长且包含了过多的操作。通过应用上述的精简策略和最佳实践,我们可以将其重构为: ```python def update_book_info_in_db(book_id, new_info): # 更新数据库中的图书信息 # ... # 假设这里有一个函数用于检查更新是否成功并通知用户 notify_if_update_successful(book_id) def notify_if_update_successful(book_id): # 检查更新是否成功,并通知用户 # ... ``` 这样的重构不仅缩短了函数名,还提高了代码的可读性和可维护性。 #### 结语 在Python编程中,面对“太长的名称”这一挑战时,我们应通过合理的精简策略、遵循最佳实践以及持续的代码优化来提升代码质量。记住,命名是一门艺术,也是一项需要不断练习和改进的技能。通过不断的实践和学习,我们可以逐渐掌握这门艺术,编写出既简洁又富有表达力的代码。
上一篇:
4.3.1 太短的名称
下一篇:
4.4 起易于搜索的名称
该分类下的相关小册推荐:
Python编程轻松进阶(一)
Python合辑10-函数
Python神经网络入门与实践
Python合辑3-字符串用法深度总结
Python编程轻松进阶(五)
剑指Python(万变不离其宗)
Python3网络爬虫开发实战(下)
Python自动化办公实战
Python合辑9-判断和循环
Python与办公-玩转Excel
机器学习算法原理与实战
Python机器学习基础教程(下)