函数代码规范

文章目录


前言

"编写代码与写作其他类型的文章非常相似。在撰写论文或文章时,我们往往先将脑海中的想法直接记录下来,然后再进行精炼和打磨。初稿可能显得粗糙且杂乱无章,但我们可以不断地对其进行优化,直到它符合我们的预期。

当我开始编写函数时,它们往往冗长且复杂,包含大量的缩进和嵌套循环,以及过长的参数列表。函数名可能是随意选取的,并且常常会出现重复的代码片段。不过,我会为这些函数编写一套单元测试,确保每一行代码都能被覆盖到。

之后,我逐步对这些代码进行打磨:分解函数、修改命名、消除重复。我会调整函数的长度并将其移动到更合适的位置。有时候,我还会拆分类,同时确保所有的测试仍然能够通过。

我不会一开始就试图让函数完全符合优雅性的标准。我认为几乎没有人能做到这一点。"

以上内容来自《代码整洁之道》。

原则

原则1:函数体应短小

函数应该尽可能地简洁明了。简短的函数不仅易于理解,也更容易维护。

python 复制代码
def add(a, b):
    return a + b

原则2:只做一件事

判断一个函数是否承担了过多职责的方法之一,就是看它是否可以进一步拆分为多个更小的函数。每个函数最好只专注于完成单一的任务。

python 复制代码
def process_data(data):
    cleaned_data = clean_data(data)
    transformed_data = transform_data(cleaned_data)
    analyzed_data = analyze_data(transformed_data)
    return analyzed_data

原则3:函数参数

最理想的函数参数数量是零,其次是只有一个参数,再其次是两个参数。我们应该尽量避免使用三个或更多的参数。如果参数过多,考虑将这些参数封装成一个类或者结构体来传递。

python 复制代码
class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

def calculate_area(rectangle):
    return rectangle.width * rectangle.height

通过遵循这些基本原则,我们可以逐步提高代码的质量,并使其更加可读、可维护。正如写作一样,编程也需要不断迭代和完善。

相关推荐
十二同学啊2 天前
Go 工程化详解:项目结构、代码规范、测试体系与 CI/CD 实践
ci/cd·golang·代码规范
这个DBA有点耶3 天前
为什么删掉索引后,查询瞬间变快了?探讨MySQL的随机I/O与顺序I/O博弈
数据库·mysql·代码规范
加宝的起点雷达3 天前
40 行原子写入:为什么临时文件必须写在同一个目录
人工智能·代码规范
电子科技圈6 天前
2026 RISC-V中国峰会观察:编译调试工具链的“在场节奏”,释放了什么信号?
大数据·人工智能·设计模式·软件工程·软件构建·代码规范·risc-v
ZhengEnCi7 天前
如何审核 AI 生成的代码:一份可落地的 6 层检查清单
ai编程·代码规范
挖掘狂人8 天前
AI 代码上线前,真正的瓶颈不在 "写",而在 "验"
ai编程·测试·代码规范
深圳老胡9 天前
STM32C5A3ZG 网络调试总结:从启动失败到连续 Ping 稳定
笔记·stm32·单片机·代码规范
big男孩10 天前
autocode 使用指南
代码规范
这个DBA有点耶10 天前
备份成功≠数据可恢复:静默损坏会让物理备份把坏页一起带走
数据库·mysql·代码规范
深圳老胡10 天前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节