首页  >  文章  >  后端开发  >  代码异味 - 循环过早优化

代码异味 - 循环过早优化

DDD
DDD原创
2024-11-17 08:44:03961浏览

过度优化的循环会伤害眼睛

TL;DR:如果没有明确的需求和具体的现实证据,请勿优化循环

问题

  • 过早优化
  • 可读性降低
  • 复杂性增加
  • 难以维护
  • 调试速度较慢

解决方案

  1. 保持简单
  2. 优先考虑清晰度
  3. 避免过早的调整
  4. 需要时重构

语境

您可能认为优化每个循环会提高性能,但当您为了未经证实的收益而牺牲清晰度时,这种方法会适得其反。

编写复杂的代码以避免假设的速度减慢通常会让其他人(以及未来的你)难以理解或调试您的代码。

如果你优先考虑可读性那就最好了。

保持循环简单,仅当您知道实际使用场景中存在瓶颈时才进行优化。

示例代码

错误的

# Over-optimized and less readable
result = [item.process() for item in items if item.is_valid()]

正确的

# Clearer and easier to understand
result = []
for item in items:
    if item.is_valid():
        result.append(item.process())

检测

[X] 半自动

寻找列表理解或复杂的循环结构来优化性能,而无需真正的性能基准证据。

例外情况

  • 关键任务算法的具体证据

标签

  • 过早优化

等级

[X] 中级

人工智能一代

人工智能工具通常优先考虑功能正确性,以便它们可以生成干净、简单的循环。

如果你不惜一切代价促使 AI 提高性能,即使对于简单的任务,它也可能会创建过度优化的代码。

人工智能检测

通过适当的指令来强调可读性和可维护性,人工智能可以通过简化循环并选择清晰度而不是过早优化来检测和修复这种气味。

尝试一下!

记住:人工智能助手会犯很多错误

Without Proper Instructions With Specific Instructions
ChatGPT ChatGPT
Claude Claude
Perplexity Perplexity
Copilot Copilot
Gemini Gemini

结论

不要过早优化而牺牲可读性。

如果循环成为经过证明的瓶颈,您可以稍后进行优化。

在那之前,清晰简单的代码将节省时间,减少错误,并使其更易于维护。

关系

Code Smell  - Loop Premature Optimization

代码气味 20 - 过早优化

马克西·孔蒂耶里 ・ 2020 年 11 月 8 日

#哎呀 #发展 #编码 #codesmell
Code Smell  - Loop Premature Optimization

代码气味 129 - 结构优化

马克西·康泰里 ・ 2022 年 4 月 12 日

#javascript #初学者 #编程 #教程
Code Smell  - Loop Premature Optimization

代码味道 06 - 太聪明的程序员

马克西·孔蒂耶里 ・2020 年 10 月 25 日

#codenewbie #教程 #初学者

免责声明

代码味道是我的观点。

制作人员

照片由 Tine Ivanič 在 Unsplash 上拍摄


比任何其他单一原因更多的计算罪恶是以效率的名义犯下的,但不一定能实现它。

W. A. 沃尔夫

Code Smell  - Loop Premature Optimization

软件工程精彩名言

马克西·孔蒂耶里 ・ 2020 年 12 月 28 日

#codenewbie #编程 #引号 #软件

本文是 CodeSmell 系列的一部分。

Code Smell  - Loop Premature Optimization

如何查找代码中的臭部分

马克西·孔蒂耶里 ・ 21 年 5 月 21 日

#codenewbie #教程 #代码质量 #初学者

以上是代码异味 - 循环过早优化的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn