首页 > 其他分享 >分享那些让你苦笑不得的Bug经历

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

时间:2023-10-27 17:32:05浏览次数:31  
标签:苦笑 console log 代码 number const 分享 Bug

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

Snipaste_2023-10-18_11-38-51.png

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'是拼写错误,但是代码不会报错,因为它仍然被认为是一个有效的变量名。这可能会导致逻辑错误和意外行为。

Snipaste_2023-10-10_18-54-41.png

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经历的分享对您有所帮助,也欢迎您分享自己的经验,让我们一起成长!

标签:苦笑,console,log,代码,number,const,分享,Bug
From: https://blog.51cto.com/itchenhan/8061956

相关文章

  • 新手教程系列:照片传输、整理、分享,Synology Photos一套轻松搞定
    谁说简单易用一定要牺牲安全?SynologyPhotos可让您轻松分享充满回忆的相册,同时确保相册安全,无论是分享一张照片,还是一个视频或者整个相册,群晖都能满足您的需求,它可不仅限去共享照片功能,还有传输,收集,整理,堪比摄影小助理,所以今天就来盘一盘如何让 SynologyPhotos成为你的摄影助理......
  • python3.8 debug记录
    AttributeError:module'numpy'hasnoattribute'typeDict'pip3installnumpy==1.18.5ModuleNotFoundError:Nomodulenamed'sklearn'pipinstallscikit-learn(注:安装这个库可能与已有的numpy版本冲突,需要多卸载安装几次)......
  • 易语言银行电子回执单生成器,转账对公都可以,程序集代码分享
    今天闲着没事用易语言的画板设计了一个回执单生成器,程序我就不分享了,然后源码我会分享代这里,仅供娱乐哈,装逼用的,用到的工具还是用易语言,毕竟我易语言学了10多年,需要的组件是:画板,编辑框,普通按钮,标签,主要就这些,下面看下我设计的UI界面。UI设计好的截图: 程序集源码分享:【你可以一......
  • 技术分享| anyRTC低延时直播优化
    直播系统就是把活动现场的音频或视频信号经数字压缩后,传送到直播多媒体服务器(CDN)上,在互联网上供广大网友或授权特定人群收听或收看。而随着技术的日益更新,人民对于直播的互动性,实时性要求更高了,传统的直播少则几十秒,多则几分钟的时延很难满足现在的很多直播场景。今天我们就从播......
  • 易语言农业银行模拟器电子回执单生成器,分享源码和程序
    比如朋友之间的装逼娱乐,这个工具挺有用的,我自己学易语言很多年了,要开发这么一个工具轻而易举,而且整个开发下来要不了200行代码,我下面开发的这个工具是农业银行的电子回执单生成器,就是可以生成一个回执单图,里面的参数都可以通过程序修改,开发工具用的是易语言。先看下界面吧: 软......
  • ChatGPT 实用小案例分享——使用Python重命名附件和统计发票合计金额
    大家好,我是皮皮。一、前言前几天在【志军】的星球看到了一个有意思的ChatGPT分享,正好喝Python相关的,一起来看看吧。ChatGPT实用小案例分享。如果你在高德或者滴滴上申请过开票,应该知道它们会给我们发一封邮件,发票和行程单都会放在附件中。由于高德是聚合平台,背后有很多网约车平台,......
  • e4a开发了银行回执单生成器app,电子版都可以,分享源码和程序
    闲着没事,朋友之间装逼娱乐经常能用到,还好之前我还学了半年的e4a开发,虽然现在e4a已经被专卖了,但是软件正常可以用,但是启动的时候会有版权,然后这个APP也是用e4a进行开发的,就是内置了很多回执单图片,然后前台设置了很多编辑框,你只需要输入参数它会自动数据指定内容的回执单,我先把设计......
  • 易语言开发银行流水生成器,分享源码仅供学习
    小编我是做技术开发的,易语言的话学了将近有10年左右,然后看网上很多人都在找这个玩意,然后就是有一个人卖9000多,感觉那种人就是向前想疯了,我分析了一下它的软件源码,也就是辅助生成数据,并不是一键它会生成文档,就是给你按参数生成固定的数据,然后需要你自己复制粘贴,这个原理的实现真的......
  • 易语言开发微信流水生成器,分享源代码
    那么其实我是做技术开发的,今天就用易语言开发这么一款软件,就当是学习研究用的把,用的是精易模块奥,必须要用这个,具体怎么下载你可以百度就行了。源码分享:.版本2.支持库spec.程序集窗口程序集_启动窗口.子程序_按钮1_被单击置剪辑板文本(编辑框1.内容)_启动窗口.标......
  • 【专题】2023年中国工业互联网平台行业研究报告PDF合集分享(附原数据表)
    这份报告合集是基于中国工业产业升级和智能制造的大背景而展开的。报告合集分析了工业互联网平台市场的发展阶段、平台玩家的产品和服务的底层逻辑以及变化趋势,并探讨了补贴减少、数据归属权之争、标准化与盈利模式、ChatGPT等因素对工业互联网平台企业的影响。此外,报告合集还展示......