分享那些让你苦笑不得的Bug经历

news2024/9/23 23:30:56

文章目录

    • 1. 缺少引号的字符串
    • 2. 单引号与双引号混淆
    • 3. 单词拼写错误
    • 4. 索引越界
    • 5. 忽略大小写
    • 6. 未初始化的变量
    • 7. 忘记递增或递减
    • 8. 死循环
    • 9. 迭代器越界
    • 10. 忘记保存更改
    • 结论

在这里插入图片描述

🎉欢迎来到Java学习路线专栏~那些让我苦笑不得的Bug经历


  • ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹
  • ✨博客主页:IT·陈寒的博客
  • 🎈该系列文章专栏:Java学习路线
  • 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习
  • 🍹文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
  • 📜 欢迎大家关注! ❤️

作为一名开发者,我们经常会遇到各种各样的挑战,但其中最让人烦恼的可能就是那些看似复杂实际上非常简单的Bug。这些Bug有时会让我们花费大量时间来排查,最后却发现问题的症结并不复杂。本文将分享一些让你困扰,后来发现原因后又让你苦笑不得的Bug经历。

在这里插入图片描述

1. 缺少引号的字符串

const name = John;
console.log(`Hello, ${name}!`);

看似无误的代码,却在控制台中抛出了一个未定义的变量错误。原来,我们在声明name时漏掉了引号,正确的代码应该是:

const name = 'John';
console.log(`Hello, ${name}!`);

这个Bug是如此微妙,以至于我们经常会在检查变量名、函数名和字符串时忽略这种简单的问题。

2. 单引号与双引号混淆

const greeting = "It's a beautiful day!";
console.log(greeting);

这段代码看起来完全正常,但却在字符串中使用了单引号,导致了语法错误。要解决这个问题,我们可以使用转义字符或使用不同类型的引号:

const greeting = 'It\'s a beautiful day!';
console.log(greeting);

或者:

const greeting = "It's a beautiful day!";
console.log(greeting);

混淆引号类型是一个常见的错误,特别是在拼接字符串时容易出错。

3. 单词拼写错误

const colors = ['red', 'grean', 'blue'];

在这个数组中,'grean’是拼写错误,但是代码不会报错,因为它仍然被认为是一个有效的变量名。这可能会导致逻辑错误和意外行为。

4. 索引越界

my_list = [1, 2, 3]
print(my_list[3])

这段Python代码试图访问my_list中的第四个元素,但它实际上只有三个元素。结果是一个IndexError,但这种错误有时可能不容易察觉,特别是在数组长度动态变化的情况下。

5. 忽略大小写

const fruit = 'Apple';
if (fruit === 'apple') {
    console.log('It is an apple.');
} else {
    console.log('It is not an apple.');
}

这段JavaScript代码本应该输出"这是一个苹果",但由于忽略了大小写,它实际上输出了"这不是一个苹果"。在编程中,忽略大小写通常是一个常见的陷阱。

6. 未初始化的变量

let number;
if (number > 5) {
    console.log('Number is greater than 5');
}

这段代码中,number变量没有被初始化,但我们试图将它与数字5进行比较。这将导致一个ReferenceError。为避免这种问题,始终确保在使用变量之前对其进行初始化。

7. 忘记递增或递减

let count = 0;
for (let i = 0; i < 5; i) {
    count++;
}
console.log(count);

在这个循环中,我们忘记了递增i的值,导致它成为了一个无限循环。应该将i++添加到循环条件中。

8. 死循环

while True:
    print('This is an infinite loop!')

死循环是一个常见的Bug,它会导致程序永远不会结束。通常,这是由于循环条件永远为True而引起的。

9. 迭代器越界

my_list = [1, 2, 3]
for i in range(4):
    print(my_list[i])

在这个Python示例中,我们试图迭代一个超出数组边界的索引。这将导致IndexError。在使用迭代器时,要确保不越界。

10. 忘记保存更改

const number = 5;
number + 3;
console.log(number);

这段JavaScript代码试图将3添加到number上,但由于我们忘记保存更改,number的值保持不变。要解决这个问题,我们应该将结果分配给number

const number = 5;
number = number + 3;
console.log(number);

在这里插入图片描述

结论

编程中的Bug是常见的,但有时它们是如此微妙,以至于我们会感到尴尬。最好的方法是仔细审查代码、进行测试和寻找代码审查。此外,与其他开发者交流和分享问题经验也是解决Bug的好方法。毕竟,我们都曾因为一些看似简单的错误而浪费了时间,因此分享这些经历可以使其他人受益,也使我们不至于感到孤单。希望这些Bug经历的分享对您有所帮助,也欢迎您分享自己的经验,让我们一起成长!


🧸结尾 ❤️ 感谢您的支持和鼓励! 😊🙏
📜您可能感兴趣的内容:

  • 【Java面试技巧】Java面试八股文 - 掌握面试必备知识(目录篇)
  • 【Java学习路线】2023年完整版Java学习路线图
  • 【AIGC人工智能】Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么
  • 【Java实战项目】SpringBoot+SSM实战:打造高效便捷的企业级Java外卖订购系统
  • 【数据结构学习】从零起步:学习数据结构的完整路径

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1141207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT与广泛应用:革新还是威胁?

文章目录 GPT的革新之处1. 内容创作助手2. 自动化客户支持3. 教育和培训4. 自然语言理解 GPT的潜在威胁1. 失业风险2. 质量和伦理问题 我们平时如何使用GPT&#xff1f;1. 内容创作2. 研究和学术3. 个人助手4. 内容过滤 结论 &#x1f389;欢迎来到AIGC人工智能专栏~ChatGPT与广…

win10下用cmake编译zlib并验证

需要的工具&#xff1a; zlib&#xff0c; 下载路径&#xff1a;zlib Home Site vs2017或其他版本 cmake 1. 下载zlib&#xff0c;创建build文件夹。 下载地址&#xff1a;zlib Home Site 这里下载到d:/build-libs文件夹下&#xff0c;得到zlib-1.3文件夹。 在…

Android13源码添加系统服务

本文基于Android 13的framework层添加系统接口&#xff0c;为应用层提供读写函数、以及执行命令! 添加接口 frameworks/base/core/java/android/app/IDevices.aidl package android.app; interface IDevices {//读取文件String readFile(String path);//写入文件void writeF…

hdlbits系列verilog解答(模块按位置)-21

文章目录 一、问题描述二、verilog源码三、仿真结果 一、问题描述 此问题类似于上一个&#xff08;模块&#xff09;。您将获得一个名为的 mod_a 模块&#xff0c;该模块按此顺序具有 2 个输出和 4 个输入。您必须按位置将 6 个端口按该顺序连接到顶级模块的端口 out1 、 out2…

Mac-postman存储文件目录

今天postman弹窗要求登录账号才可访问之前的API文档数据。 但是这postman的账号又是前同事的账号&#xff0c;我没有他的账号和密码啊。 登录了我自己的postman账号后&#xff0c;所有的api文档都不见了....我服了。 首先去屏幕左上角---> 前往 --->个人 然后键盘按显…

【算法练习Day30】无重叠区间 划分字母区间合并区间

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 无重叠区间划分字母区间合并…

力扣在线OJ——栈和队列

目录 &#x1f341;一、用两个队列实现栈 &#x1f315;&#xff08;一&#xff09;、题目&#xff08;力扣链接&#xff1a;用队列实现栈 &#xff09; &#x1f315;&#xff08;二&#xff09;、注意 &#x1f315;&#xff08;三&#xff09;、解答 ⭐️1.注意事项 ⭐…

Java练习题2021-2

"某地大数据防疫平台记录了往来的所有防疫相关信息&#xff0c;包括 本地或外地人员、健康码颜色、接种疫苗情况、最近一次核酸结果、最近一次核酸检测时间等。 该地某区域对于进入人员的要求为&#xff1a; 如果是本地人员&#xff0c;需要绿码和疫苗完全接种方可进入&am…

单位建数字档案室的意义和作用

单位建立数字档案室的意义和作用包括&#xff1a; 1.提高档案管理效率。数字档案室可以高效地收集、整理和存储电子文档&#xff0c;通过数字化处理&#xff0c;文档的查找和检索速度大幅提升。 2.降低管理成本。数字档案室可以通过节约空间和人力成本&#xff0c;降低管理成本…

ubuntu扩大运行内存, 防止编译卡死

首先查看交换分区大小 grep SwapTotal /proc/meminfo 1、关闭交换空间 sudo swapoff -a 2、扩充交换空间大小&#xff0c;count64就是64G 1G x 64 sudo dd if/dev/zero of/swapfile bs1G count64 3、设置权限 sudo chmod 600 /swapfile 4、指定交换空间对应的设备文件 …

系列十四、Spring如何处理线程安全问题

一、线程安全问题出现的原因 Spring中出现线程安全的原因是&#xff0c;单实例bean中存在成员变量&#xff0c;并且有对这个bean进行读写的操作&#xff0c;因此出现了线程安全的问题。 二、案例代码 2.1、MySpringConfig /*** Author : 一叶浮萍归大海* Date: 2023/10/24 1…

假脱机技术(SPOOLing技术)

文章目录 1.什么是脱机技术1.脱机技术解决的问题 2.假脱机技术的实现原理1.输入井和输出井2.输入进程和输出进程3,输入缓冲区和输出缓冲区 3.共享打印机的原理分析1.把独占式的打印机改造成共享设备 1.什么是脱机技术 脱机&#xff1a;脱离主机的控制进行的输入输出操作。 批处…

【1++的Linux】之进程间通信(共享内存)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 我们在前面的文章中提到过&#xff0c;进程间的通信本质都是先看到同一块资源&#xff0c;然后通过这同一块资源进行通信&#xff0c;并且是单向的通信&#xff0c;只能一端发&#…

可视化 | (四)可视化降维

文章目录 &#x1f4da;降维的重要性&#x1f4da;MDS、PCA&#x1f407;MDS&#x1f407;PCA &#x1f4da;SNE&#x1f407;总述&#x1f407;SNE&#x1f407;Symmetric-SNE&#x1f407;T-SNE &#x1f4da;降维的重要性 降维在数据分析和可视化领域中扮演着重要的角色。当…

19、Python -- 关键字参数 与 参数默认值,参数收集 与 逆向参数收集

目录 关键字参数位置参数&#xff1a;关键字参数位置参数和关键字参数的混合使用关键字参数注意点 参数默认值使用参数默认值 普通参数收集&#xff08;*xxx&#xff09;注意点 关键字参数收集(**xxx)逆向参数收集注意点&#xff1a; dict&#xff08;字典&#xff09;的逆向参…

J2EE项目部署与发布(Windows版本)

目录 一.会议OA单体项目Windows部署 1.实操 二.spa前后端分离项目Windows部署 1.部署后端 2.部署前端 配置node.js 3.从实施的角度 4.从开发的角度 ​编辑 一.会议OA单体项目Windows部署 我们从实施的角度来看&#xff0c;拿到项目之后一定要问开发人员提供数据库脚…

SpringCloud复习:(8)Zuul内置过滤器

过滤器的执行顺序&#xff1a;根据filterOrder方法的返回值&#xff0c;返回值&#xff08;包含负数&#xff09;越小&#xff0c;越早执行 。 FilterProcessor类中会调用filter的runFilter方法 ZuulFilter中的runFilter方法会调用run方法&#xff1a;

在ffmpeg中,网络视频流h264为什么默认的转为YUV而不是其他格式

在做网络视频的时候&#xff0c;有些视频的编程概念&#xff0c;早点知道&#xff0c;早点弄清楚会少走很多的弯路。对应视频的转码&#xff0c;传输&#xff0c;一开始如果直接跟着代码跑的话&#xff0c;很容易觉得自己都明白了&#xff0c;但是为什么这样做&#xff0c;好像…

使用WebStorm创建和配置TypeScript项目

创建 这里我用的是WebStorm 2019.2.2版本 首先&#xff0c;创建一个空项目 File -> New -> Project->Empty Project生成配置文件 自动配置&#xff1a; 打开终端输入tsc --init&#xff0c;即可自动生成tsconfig.json文件 手动配置&#xff1a; 在项目根目录下新建一…

第四章 文件管理 八、文件保护

目录 一、口令保护 1、定义&#xff1a; 2、优点&#xff1a; 3、缺点: 二、加密保护 1、定义&#xff1a; 2、例子&#xff1a; 2、优点&#xff1a; 3、缺点: 三、访问控制 1、定义&#xff1a; 2、精简的访问控制表&#xff1a; &#xff08;1&#xff09;定义&a…