当前位置: 首页 > news >正文

DRY原则-用函数和模块化来避免重复代码

遵循DRY(Don't Repeat Yourself)原则是编程中的一个重要准则,它鼓励我们避免重复代码,通过抽象和函数化来复用代码。这样不仅可以让代码更加简洁、易于理解,还可以减少维护成本和出错率。下面是一个示例,展示如何应用DRY原则来重构一段有重复代码的Python程序。

示例:计算几个不同形状的面积

假设我们需要计算圆形、正方形和长方形的面积。一种非DRY的方法是为每种形状编写单独的代码:

# 非DRY代码示例def circle_area(radius):return 3.14159 * radius * radiusdef square_area(side):return side * sidedef rectangle_area(length, width):return length * width# 使用函数计算各形状的面积
radius = 5
side = 4
length = 6
width = 3print("Circle Area:", circle_area(radius))
print("Square Area:", square_area(side))
print("Rectangle Area:", rectangle_area(length, width))

虽然这段代码工作得很好,但每个函数都是独立的,没有重复代码。但假设我们需要添加更多的功能,比如打印每个形状的名称和面积,我们可能会在每个函数中重复相似的打印逻辑。

为了应用DRY原则,我们可以抽象出一个通用的打印功能:

# 应用DRY原则的代码示例def print_area(shape_name, area):print(f"{shape_name} Area: {area}")def circle_area(radius):return 3.14159 * radius * radiusdef square_area(side):return side * sidedef rectangle_area(length, width):return length * width# 使用函数计算并打印各形状的面积
radius = 5
side = 4
length = 6
width = 3print_area("Circle", circle_area(radius))
print_area("Square", square_area(side))
print_area("Rectangle", rectangle_area(length, width))

在这个重构后的版本中,我们创建了一个print_area函数,它接收形状名称和面积作为参数,并打印它们。这样,如果我们需要修改打印逻辑,只需要修改这一个函数即可。这样的设计使得代码更加模块化,易于维护和扩展。

通过这种方式,我们避免了在每个具体的形状计算函数中重复打印逻辑的代码,更好地遵循了DRY原则。


http://www.mrgr.cn/news/18806.html

相关文章:

  • 2024自动化测试面试真题(附答案)!
  • 分类预测|基于雪消融优化极端梯度提升的数据分类预测Matlab程序SAO-XGBoost 多特征输入多类别输出
  • 【干货】深度学习调参秘籍【表格】
  • 企业数据管理方案-提升效率与决策力的关键
  • 使用Spring Boot拦截器实现时间戳校验以防止接口被恶意刷
  • 《重生到现代之从零开始的C语言生活》—— 指针7
  • 供应链管理平台开发指南:从食堂采购系统源码开始
  • [物理专题]经典浮力题目的Fh图像绘制
  • FTPClient报“Connection refused”的另一种情况
  • 【NLP自然语言处理】文本处理的基本方法
  • 装WebVideoCreator记录
  • SBOM在国防军工领域的应用前景分析
  • 向沐神学习笔记:GPT,GPT-2,GPT-3 论文精读【论文精读】GPT部分
  • 鸿蒙-设置Rerefsh的下拉距离
  • python-第三方库-[yarl、yaml]
  • 太狠了:华为的卫星通信能免费使用了
  • 环保专包二级资质续期时要避免的常见错误
  • ESP32无线WiFi芯片模组,设备物联网连接通信,产品智能化交互升级
  • 场外个股期权为什么那么火?收益翻倍不是梦!
  • 电商数据整合新篇章:京东商品详情API返回值应用实践