自己写过比较蠢的代码:从失败中学习的经验

文章目录

    • 引言
    • [1. 代码没有注释](#1. 代码没有注释)
    • [2. 长函数和复杂逻辑](#2. 长函数和复杂逻辑)
    • [3. 不恰当的变量名](#3. 不恰当的变量名)
    • [4. 重复的代码](#4. 重复的代码)
    • [5. 不适当的异常处理](#5. 不适当的异常处理)
    • [6. 硬编码的敏感信息](#6. 硬编码的敏感信息)
    • [7. 没有单元测试](#7. 没有单元测试)
    • 结论

🎉 自己写过比较蠢的代码:从失败中学习的经验



引言

每个程序员都有自己的代码库,里面充满了各种各样的代码:有些是优雅的、高效的,而有些则可能令人尴尬和低效。在编写软件的过程中,我们都曾经写过令人不满意的代码。本文将分享一些自己写过的比较蠢的代码,以及从中学到的宝贵经验。通过这些失败的案例,我们可以更好地理解如何编写更好的代码。

1. 代码没有注释

python 复制代码
# 函数功能:实现某种操作
def func():
    # 以下代码实现某种操作
    ...

这段代码实际上并没有提供任何有用的信息。没有注释,别人无法理解这个函数的目的和如何使用它。

经验教训:良好的注释是代码的一部分,它们可以提高代码的可读性和可维护性。编写清晰的注释,以解释代码的目的、输入和输出。

如何避免:编写有意义的注释,包括函数的用途、参数的含义以及返回值的描述。这样,其他开发人员可以更容易地理解和使用你的代码。

2. 长函数和复杂逻辑

java 复制代码
public void doSomething() {
    // 大约数百行的代码
    ...
}

这个函数包含了大量的代码,难以理解和维护。

经验教训:拆分长函数为小的、可重用的函数,每个函数执行一个特定的任务。这有助于提高代码的可读性和维护性。

如何避免:将长函数拆分为多个小函数,每个小函数执行一个特定的子任务。这不仅使代码更易于理解,还使单元测试更容易编写。

3. 不恰当的变量名

javascript 复制代码
let a = 10;
let b = 20;
let c = a + b;

使用像abc这样的变量名不是一个好习惯。它们不提供任何有关变量用途的信息。

经验教训 :使用有意义的变量名,可以让你的代码更易于理解。例如,使用total代替c

如何避免:选择描述性的变量名,以反映变量的用途和含义。这有助于提高代码的可读性。

4. 重复的代码

python 复制代码
def calculate_area_of_circle(radius):
    return 3.14 * radius * radius

def calculate_area_of_sphere(radius):
    return 4 * 3.14 * radius * radius

def calculate_volume_of_sphere(radius):
    return (4/3) * 3.14 * radius * radius * radius

这里有很多重复的代码,每个函数都包含了相似的计算。

经验教训:使用函数来避免重复代码。在这种情况下,你可以创建一个单独的函数来计算圆柱体的表面积和体积,然后在需要时调用它。

如何避免:查找和标记代码中的重复部分,然后将它们提取到单独的函数或方法中。这不仅减少了代码的冗余,还使维护更容易。

5. 不适当的异常处理

java 复制代码
try {
    // 可能引发异常的代码
    ...
} catch (Exception e) {
    // 空的异常处理块
}

这种情况下,异常被捕获,但什么也不做,这可能会导致潜在的错误被忽略。

经验教训:在捕获异常时,要确保适当地处理它们。这可能包括记录错误、回滚操作或者向用户报告问题。

如何避免:在捕获异常时,考虑如何处理异常情况。根据异常的类型,采取适当的行动,而不是简单地忽略它们。

6. 硬编码的敏感信息

python 复制代码
db_connection = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    database='mydb'
)

将敏感信息(如数据库密码)硬编码在代码中是不安全的。

经验教训:使用配置文件或环境变量来存储敏感信息,并从中读取。这有助于提高安全性,并简化了配置管理。

如何避免:将敏感信息存储在安全的位置,例如环境变量、配置文件或密钥管理服务中。不要在代码中直接硬编码这些信息。

7. 没有单元测试

没有单元测试的代码可能会导致难以调试和维护的问题。

经验教训:编写单元测试来验证代码的功能。这可以帮助你捕获潜在的问题,并确保代码在不断变化的环境中仍然正常工作。

如何避免:在编写代码的同时,编写相应的单元测试。这样可以确保代码的正确性,并及早捕获问题。

结论

自己写过的蠢代码是每个程序员成长的一部分。关键在于从失败中学习,并不断改进自己的编码技能。通过识别和纠正这些常见的错误,你可以编写更干净、更可维护的代码,提高自己的开发水平。记住,编码是一个不断学习和改进的过程。


🧸结尾 ❤️ 感谢您的支持和鼓励! 😊🙏

📜您可能感兴趣的内容:

相关推荐
码银5 分钟前
Java 集合:泛型、Set 集合及其实现类详解
java·开发语言
东阳马生架构8 分钟前
Nacos简介—4.Nacos架构和原理
java
柏油20 分钟前
MySQL InnoDB 行锁
数据库·后端·mysql
咖啡调调。22 分钟前
使用Django框架表单
后端·python·django
白泽talk27 分钟前
2个小时1w字| React & Golang 全栈微服务实战
前端·后端·微服务
摆烂工程师36 分钟前
全网最详细的5分钟快速申请一个国际 “edu教育邮箱” 的保姆级教程!
前端·后端·程序员
一只叫煤球的猫1 小时前
你真的会用 return 吗?—— 11个值得借鉴的 return 写法
java·后端·代码规范
Asthenia04121 小时前
HTTP调用超时与重试问题分析
后端
Nuyoah.1 小时前
《Vue3学习手记5》
前端·javascript·学习
颇有几分姿色1 小时前
Spring Boot 读取配置文件的几种方式
java·spring boot·后端