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

文章目录

    • 引言
    • [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. 没有单元测试

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

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

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

结论

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


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

📜您可能感兴趣的内容:

相关推荐
转码的小石7 分钟前
12/21java基础
java
李小白6615 分钟前
Spring MVC(上)
java·spring·mvc
sanguine__16 分钟前
Web APIs学习 (操作DOM BOM)
学习
GoodStudyAndDayDayUp28 分钟前
IDEA能够从mapper跳转到xml的插件
xml·java·intellij-idea
装不满的克莱因瓶1 小时前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
n北斗1 小时前
常用类晨考day15
java
骇客野人1 小时前
【JAVA】JAVA接口公共返回体ResponseData封装
java·开发语言
AskHarries2 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端
yuanbenshidiaos2 小时前
c++---------数据类型
java·jvm·c++
向宇it2 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎