首页 > 后端开发 > Python教程 > 脏代码:避免脏代码的简单规则

脏代码:避免脏代码的简单规则

Mary-Kate Olsen
发布: 2024-12-20 04:35:13
原创
454 人浏览过

Dirty Code: Simple Rules to Avoid It

每个开发人员都面临过这样的问题:脏代码——那种看起来像是匆忙编写的代码,其中充斥着神奇的数字、重复的块和神秘的变量名。它有效......勉强。但维持它呢?那真是一场噩梦。

如果您在重构别人的代码(甚至是您自己的代码)时曾经小声嘀咕过,那么这篇文章就是为您准备的。这里有一些简单的规则,可以让您的代码保持干净、可读且面向未来。

什么是脏代码?
脏代码是这样的代码:

  • 难以阅读或理解。
  • 缺乏结构和一致性。
  • 在不破坏其他东西的情况下很难修改或调试。

这种情况经常发生在开发人员:

  1. 在紧迫的期限内工作。
  2. 跳过代码审查。
  3. 不遵循最佳实践或标准。

为什么脏代码是一个问题?

  • 难以调试:修复一个错误可能会引入另外五个错误。
  • 维护成本高昂:写得不好的代码需要更长的时间来改进。
  • 团队混乱:新开发人员花费额外的时间试图了解正在发生的事情。 肮脏的代码也许能完成今天的工作,但对于你的团队和未来的自己来说,这是一颗定时炸弹。

避免脏代码的简单规则

1。遵循单一职责原则 (SRP)
每个函数、方法或类应该只做一件事。如果您发现自己编写的方法职责过多,请将它们分成更小的单元。

❌ 错误示例:

def process_user_data(user):
    user['age'] = user['age'] + 1  
    db.save(user)  
    print(f"User {user['name']} updated")  

登录后复制
登录后复制

✅ 好例子:

def update_user_age(user):
    user['age'] += 1  

def save_user_to_db(user):
    db.save(user)  

def log_user_update(user):
    print(f"User {user['name']} updated")  

登录后复制
登录后复制

每个函数现在都有一个明确的工作,使代码更容易测试和修改。

2。避免使用幻数和字符串
硬编码值(“幻数”)使代码不可读且难以维护。请改用常量。

❌ 错误示例:

if (statusCode === 404) {  
    console.log("Not Found");  
}

登录后复制
登录后复制

✅ 好例子:

const NOT_FOUND = 404;

if (statusCode === NOT_FOUND) {  
    console.log("Not Found");  
}

登录后复制

常量 NOT_FOUND 是不言自明的,使您的代码更易于阅读。

3。编写描述性变量和函数名称
您的变量名称应该反映它们所代表的含义。避免缩写和神秘的名称。

❌ 错误示例:

int a = 5;  
String s = "John";  

登录后复制

✅ 好例子:

int userAge = 5;  
String userName = "John";  

登录后复制

这同样适用于函数。避免使用模糊的名称,例如 doStuff() 或 process()。具体一点。

4。 DRY(不要重复自己)
如果您复制并粘贴代码,那么您就错了。重复的代码使错误修复成为一场噩梦。将重复逻辑抽象为函数或类。

❌ 错误示例:

print("Welcome, John")  
print("Welcome, Mary")  

登录后复制

✅ 好例子:

def process_user_data(user):
    user['age'] = user['age'] + 1  
    db.save(user)  
    print(f"User {user['name']} updated")  

登录后复制
登录后复制

5。保持函数简短
如果你的函数超过 20-30 行,那么它就做得太多了。将其分解为更小的、可重用的函数。

长函数使得理解和测试特定行为变得更加困难。

6。谨慎使用评论
编写能够自我解释的代码。仅在必要时使用注释来阐明复杂的逻辑。避免发表显而易见的评论。

❌ 错误示例:

def update_user_age(user):
    user['age'] += 1  

def save_user_to_db(user):
    db.save(user)  

def log_user_update(user):
    print(f"User {user['name']} updated")  

登录后复制
登录后复制

✅ 好例子:
如果你的代码清晰,则无需注释:

if (statusCode === 404) {  
    console.log("Not Found");  
}

登录后复制
登录后复制

使用注释来澄清为什么做出某个决定,而不是代码正在做什么。

7。格式化和组织您的代码

  • 遵循一致的编码风格指南(例如,Python 的 PEP8、JavaScript 的 ESLint)。
  • 使用正确的缩进。
  • 将相关代码分组在一起。 良好的格式使代码干净且可读,无需任何额外的努力。

开发者的心态:为人类编写代码
代码不仅仅是为机器编写的;它也是为机器编写的。它也是为人类编写的——你的队友、未来的维护者,甚至六个月后的你自己。当你编写干净的代码时:

  • 您减轻了他人的精神负担。
  • 您使调试、扩展和改进变得更加容易。
  • 您看起来像一位重视质量的专业开发人员。

最后的想法
避免脏代码并不难——只是需要纪律。遵循这些简单的规则:

  1. 坚持单一职责原则。
  2. 避免幻数。
  3. 使用清晰、描述性的名称。
  4. 干燥重复的代码。
  5. 保持函数简短。
  6. 明智地使用评论。
  7. 一致地格式化您的代码。

干净的代码并不意味着完美;而是意味着完美。这是为了让你的工作易于维护和理解。未来的你和你的团队都会感谢你。

现在去重构那些你一直忽略的混乱代码吧! ?

以上是脏代码:避免脏代码的简单规则的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板