首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自己写过比较蠢的代码:从失败中学习的经验

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

作者头像
IT_陈寒
发布于 2023-12-13 11:34:54
发布于 2023-12-13 11:34:54
17700
代码可运行
举报
文章被收录于专栏:开发经验开发经验
运行总次数:0
代码可运行
文章目录

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

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



引言

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

1. 代码没有注释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 函数功能:实现某种操作
def func():
    # 以下代码实现某种操作
    ...

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

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

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

2. 长函数和复杂逻辑

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void doSomething() {
    // 大约数百行的代码
    ...
}

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

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

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

3. 不恰当的变量名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let a = 10;
let b = 20;
let c = a + b;

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

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

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

4. 重复的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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. 不适当的异常处理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try {
    // 可能引发异常的代码
    ...
} catch (Exception e) {
    // 空的异常处理块
}

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

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

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

6. 硬编码的敏感信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db_connection = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    database='mydb'
)

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

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

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

7. 没有单元测试

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

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

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

结论

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你写过的最蠢的代码是?——全栈开发篇
嘿,编码的朋友们!这里是你们的老友——猫头虎博主🐯!今天,我们将要探讨一个在全栈开发领域中轻松愉快的主题——你写过的最蠢的代码是什么?😆 是的!不是那些高大上的架构和算法,我们就来聊聊那些我们曾写过的、看起来不那么智慧的代码,并深入探讨其背后可能隐藏的Bug、解决方法和如何在未来避免它们!一起来,让我们在轻松的氛围中学习和提高!
猫头虎
2024/04/09
1090
CodeReview常见代码问题
空值恐怕是最容易出现的地方之一。 常见错误有: a. 值为NULL导致空指针异常; b. 参数字符串含有前导或后缀空格没有Trim导致查询为空。 导致以上结果的原因主要有: 无此记录、有此记录但由于SQL访问异常而没查到、网络调用失败、记录中有脏数据、参数没传。
三哥
2018/07/31
1K0
CodeReview常见代码问题
你写过的最蠢的代码是?
在我们走上编程道路的初始阶段,面对着神秘而复杂的代码世界,总会产生种种不解和疑惑。每个初学者都会经历从零开始的过程,而在这个过程中,我们很可能会写下一些让自己哭笑不得的代码。随着学习和实践的深入,我们会不断地优化代码,不断地在错误中成长。本文旨在通过分享和剖析一些常见的“愚蠢”代码案例,为编程新手提供避坑指南,同时也为有经验的开发者带来反思和娱乐。本文会涵盖多种编程语言,包括但不限于JavaScript、Python和Java,以及不同的编程场景,如循环优化、错误处理和代码重构等。我们也会深入研究如何通过持续学习和实践,从愚蠢的代码中走出,成为一个更加精进的程序员。
猫头虎
2024/04/09
1340
你写过的最蠢的代码是?
刚学习编写代码时的愚蠢瞬间:初学者的代码经验分享
🔍 在这篇技术博客中,我,您的亲切博主😊,将与您分享初学编写代码时的一些奇怪瞬间和愚蠢代码的经验。回顾自己的编程之路,我们将一起探索编写初学者代码时可能出现的问题,以及如何避免它们。本文将提供代码案例来演示这些问题,并帮助您建立更好的编程习惯。一起来回忆一下我们的编程旅程吧!
默 语
2024/11/20
900
刚学习编写代码时的愚蠢瞬间:初学者的代码经验分享
如果写劣质代码是犯罪,那我该判无期
程序员痛恨遇到质量低劣的代码,但在高压环境下,我们常为了最快解决当下需求而忽略代码规范,在无意识中堆积大量债务。我们还观察到许多开发者被迫加班的罪魁祸首便是写低效代码、不重视代码优化。编程路上,欲速则不达。接下来,我将为各位列举9种我个人工作中高频遇到的不整洁代码行为,并提出针对性优化建议。继续阅读~
腾讯云开发者
2023/07/31
3490
如果写劣质代码是犯罪,那我该判无期
代码重构的一些建议
在进行编码的过程当中,有些时候会用一些代码检测工具接近对代码就进行一个检测,发现日常写的代码会有一些值得优化的问题,进行一个分享总结归纳。
查拉图斯特拉说
2024/02/10
1870
从谷歌 20 年的站点可靠性工程(SRE)中学到的 11 个经验教训
作者 | Adrienne Walcer, Kavita Guliani, Mikel Ward, Sunny Hsiao, and Vrai Stacey
深度学习与Python
2023/11/16
3230
从谷歌 20 年的站点可靠性工程(SRE)中学到的 11 个经验教训
codeReview常见代码问题
路线图   常见代码问题   空值   未捕获潜在的异常   低性能   影响范围过大   单测问题   与原有业务逻辑不兼容   缺乏必要日志   错误码不符合规范   参数检测缺乏或不足   引用错误   名字冲突   细节错误   多重条件   文不符实   跨语言或跨系统交互   可维护性问题   硬编码   重复代码   通用逻辑与定制业务逻辑耦合   直接在原方法里加逻辑   多业务耦合   代码层次不合理   不用多余的代码   使用全局变量   缺乏必要的注释   更难发现的错误   并发   资源泄露   事务   SQL问题   安全问题   设计问题   较轻微的问题   命名不贴切   声明时未初始化   风格与整体有不一致   类型转换错误   否定式风格   容器遍历的结构变更   API参数传递错误   单行调用括号过多   修改方法签名   打印日志太多   多级数据结构   作用域过大   分支与循环   残留的无用代码   代码与文档不一致   使用冷僻用法或奇淫巧技
江湖前辈黄药师
2018/08/27
1.4K0
codeReview常见代码问题
程序员成长之路有哪些绝对不能踩的坑?
程序员编写高质量、可维护、安全且高效的代码,通常需要大量研究和经验。但也需要避免许多技术陷阱。一起来聊聊程序员有哪些绝对不能踩的坑吧!
猫头虎
2024/04/08
1520
关于烂代码的那些事(中)
这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。
哲洛不闹
2018/09/18
5710
关于烂代码的那些事(中)
你的码有我的码蠢?
当我刚开始学习编写代码时,写下的代码常常令人尴尬,但它们是我成长的见证。在这篇博客中,我将分享我的编程旅程,包括一些初学者时期的愚蠢代码,以及我从中学到的宝贵教训。
一只牛博
2025/05/30
450
【Python百日精通】Python 条件语句的深入探讨与优化技巧
可读性是编写高质量代码的重要因素。良好的可读性不仅能提高代码的维护性,还能帮助其他开发人员更快地理解代码。以下是一些提高条件语句可读性的方法:
屿小夏
2024/08/27
1600
【Python百日精通】Python 条件语句的深入探讨与优化技巧
编写清晰易读代码的艺术-编码规范与最佳实践
在软件开发中,代码的可读性直接影响到其可维护性和团队协作的效率。良好的编码规范不仅帮助开发者自己理解代码,还能让团队中的其他成员快速上手项目。然而,许多开发者在编码时往往忽视了这一点。本文将探讨如何编写清晰易读的代码,包括编码规范与最佳实践,并通过代码示例来说明如何实现这些规范。
一键难忘
2024/09/01
9700
从业18年,我总结了9个最有价值的经验
我从 14 岁就开始在父母的卧室里写代码。我通过非常慢的网络阅读任何我能够获得的东西。20 岁时,作为一名 Web 开发人员,我签了人生中的第一份劳动合同,我当时学的是 PHP 和 JavaScript。
深度学习与Python
2021/01/07
2800
在 Bug 的泥潭中发现智慧:分享 Debug 的方法与经验
今日推荐:使用LLaMA-Factory对LLM大模型进行微调!训练专属于你的模型!
一键难忘
2024/11/23
3440
来自Airbnb、Netflix等公司的代码评审最佳实践
在本文中,我们将总结来自一些公司的官方工程博客的经验教训。为什么要做代码评审?除了作为一种质量保证的工具,代码评审还有哪些好处?代码评审如何帮助提升团队能力?
深度学习与Python
2021/01/21
6600
牛码同行-如何写好代码
写好代码对程序员来说不仅是技术能力的体现,更是思维和习惯的综合。以下是一些编写高质量代码的核心要点:
知孤云出岫
2024/10/29
1600
牛码同行-如何写好代码
如何写出可维护的 Java 代码
作为程序员,如何写出高质量可维护的代码,是一个老生常谈的话题,初级程序员可能是只要完成任务就行了,但当我们逐渐成为中高级程序员的时候,我们要考虑就不单单只是完成任务就行了,而更加要关注如果写出优雅可维护的代码,并且要保证系统的设计更加的合理。
Java极客技术
2023/12/26
2570
如何写出可维护的 Java 代码
【Java 基础篇】Java 方法使用详解:让你轻松掌握方法的奥秘
如果你正在学习Java编程,方法是一个不可或缺的重要概念。方法允许你将代码组织成可重用的块,提高了代码的可维护性和可读性。在本篇博客中,我们将深入探讨Java方法的使用,从基础概念开始,逐步介绍如何定义、调用、传递参数、返回值、异常处理以及方法的最佳实践。无论你是编程的新手还是有一些经验的开发者,本篇博客都将帮助你掌握Java方法的要点。
繁依Fanyi
2023/10/12
7320
【Java 基础篇】Java 方法使用详解:让你轻松掌握方法的奥秘
c++代码整洁之道
整洁的代码在团队中无疑是很受欢迎的,可以高效的被其它成员理解和维护,本文参考《C++代码整洁之道》和《Google C++编码规范》,结合自己的一些想法整理如下:
C语言与CPP编程
2020/12/02
1.2K0
c++代码整洁之道
相关推荐
你写过的最蠢的代码是?——全栈开发篇
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档