代码异味 - 低级加法
不要关心你如何做事。关心你所做的事情
TL;DR:放弃循环:用声明式风格编写更简洁的代码
问题
- 冗长的逻辑
- 重复模式
- 可读性
- 可维护性
解决方案
- 删除循环
- 简化逻辑
- 编写声明性和高级代码
语境
对集合求和时,您可以手动循环元素并将每个元素添加到变量中。
这种方法有效,但增加了不必要的代码行并且使其更难以遵循。
使用语言高级函数,您可以使代码更短、更清晰且不易出错。
它准确地告诉您代码正在做什么,而不是它是如何做的。
示例代码
错误的
transaction_values = [10.0, -5.21, 101.32, 1.11, -0.38] balance = 0 for transaction_value in transaction_values: balance += transaction_value
正确的
transactions_values = [10.0, -5.21, 101.32, 1.11, -0.38] balance = sum(transactions_values)
检测
[X] 半自动
当您看到显式循环累积结果时,您可以检测到这种气味,尤其是在对值求和等简单操作中。
标签
- 声明式
等级
[X] 初学者
人工智能一代
AI 生成器有时可以通过编写详细循环而不是使用 sum().
等函数来产生这种气味。如果您没有指定需要更简洁的声明式解决方案,他们可能会选择更多行代码。
人工智能检测
当你要求 AI 系统通过简单的“优化”或“简化”指令来降低代码复杂性时,它们可以轻松检测并简化这种气味,大多数 AI 工具建议在这种情况下使用 sum()。
尝试一下!
记住人工智能助手会犯很多错误
没有正确的指示
ChatGPT 克劳德困惑双子座
有具体说明
ChatGPT 克劳德困惑双子座
结论
喜欢 sum() 等声明性函数可以提高可读性并减少潜在的错误。
您减少了对手动循环的需求并使其更易于维护。它以最少的语法和混乱准确地显示了代码的用途。
关系

代码气味 53 - 显式迭代
马克西·孔蒂耶里 ・21 年 1 月 5 日

代码气味 123 - 混合“什么”和“如何”
马克西·孔蒂耶里 ・ 22 年 3 月 22 日
免责声明
代码味道是我的观点。
制作人员
照片由 Kati Hoehl 在 Unsplash 上拍摄
程序最重要的属性是它是否实现了用户的意图。
C.A.R.霍尔

软件工程精彩名言
马克西·孔蒂耶里 ・ 2020 年 12 月 28 日
本文是 CodeSmell 系列的一部分。

如何查找代码中的臭部分
马克西·孔蒂耶里 ・ 21 年 5 月 21 日
以上是代码异味 - 低级加法的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...
