每个开发人员都面对它:肮脏的代码 - 看起来像是急着写的代码,撒上魔术数字,重复的块和隐秘的可变名称。它几乎没有工作。但是要维护吗?那是一场噩梦。
什么是肮脏的代码?
肮脏的代码是:
很难读取或理解。
缺乏结构和一致性。
跳过代码评论。
团队混乱:新开发人员花费额外的时间,只是试图了解正在发生的事情。 肮脏的代码今天可能会完成工作,但这对您的团队和将来的自我来说是一个滴答滴答的时间炸弹。
1。遵循单个责任原则(srp)def update_user_age(用户): 用户['age'] = 1 def save_user_to_db(用户): DB.Save(用户) def log_user_update(用户): 打印(f“用户{user ['name']}更新)) 现在每个函数都有一个清晰的工作,使代码更易于测试和修改。
2。避免魔术数字和字符串
硬编码的值(“魔术数”)使代码不可读且难以维护。改用常数。
def process_user_data(user): user['age'] = user['age'] 1 db.save(user) print(f"User {user['name']} updated")
const not_found = 404;
if(statuscode === not_found){
console.log(“未找到”);
}
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")3。编写描述性变量和函数名称
您的变量名称应反映其代表。避免缩写和神秘名称。
❌不好示例:
def process_user_data(user): user['age'] = user['age'] 1 db.save(user) print(f"User {user['name']} updated")相同的功能也适用。避免使用模糊的名称(例如)或process()。要具体。
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")如果您要复制和粘贴代码,那就做错了。重复的代码使错误修复了噩梦。抽象重复逻辑中的函数或类。
❌不好示例:
print(“欢迎,约翰”)
印刷(“欢迎,玛丽”)
int a = 5; String s = "John";长函数使理解和测试特定行为变得更加困难。
int userAge = 5; String userName = "John";❌不好示例:
//通过1增量计数器
计数器=计数器1;
使用评论来阐明为什么做出某个决定,而不是代码在做什么。
print("Welcome, John") print("Welcome, Mary")
遵循一致的编码样式指南(例如,python的pep8,javaScript的eslint)。
def greet_user(name): print(f"Welcome, {name}") greet_user("John") greet_user("Mary")组相关代码在一起。 良好的格式使代码无需额外的努力即可清洁和可读。
您使调试,扩展和改进变得更加容易。
您看起来像是一个重视质量的专业开发人员。
[2
避免肮脏的代码并不难 - 只需纪律即可。遵循以下简单的规则:
坚持单一的责任原则。
def greet_user(name): print(f"Welcome, {name}") greet_user("John") greet_user("Mary")使用清晰的描述性名称。
干燥重复代码。
def greet_user(name): print(f"Welcome, {name}") greet_user("John") greet_user("Mary")明智地使用注释。
干净的代码与完美无关;这是关于使您的工作可维护和理解。您的未来自我 - 和您的团队 - 将谢谢您。 现在去重构您一直在忽略的凌乱代码! ?
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3