项目遇到Bug如何解决(思路)

在我们项目开发中,总是遇到各种各样的 Bug,对于我来说能够快速的 找到Bug、分析Bug、解决Bug就是自我能力最大的挑战。

所以,先要明确在项目开发中经常会遇到错误类型有哪些呢?

错误类型三大类:

一、语法错误

从它错误的表现形式来去明确我们的语法错误应该通过什么样的方式进行修复,所谓语法错误就是在我们的 id 开发工具使用的时候就出现的一种错误类型,比如说:

在我们变量定义的时候,假设const、在进行const书写的时候,单词如果出现了拼写的错误,那我们就可以称之为语法错误 ,将这种错误类型,在 VSCode 内置的开发工具使用的时候就会出现一个明显的红色波浪线,去告诉你我们已经出现了代码错误,当然,我们在进行代码书写的时候可能还会使用其他的工具进行更好的语法错误的纠正。比如说利用:

  • ESLint:我们实现的是代码的规则约束的检测操作,利用它可以更好的帮助我们避免一些语法的错误。解析我们的括号是否匹配。
  • Prettier: 代码工具进行我们语法错误的一个纠正,那么 Prettier 代码格式化工具,为什么能够进行语法错误的纠正呢?是因为我们出现语法错误后,代码格式化处理就失效了,那么我们就明确,在进行代码书写的时候,在不同的位置出现相应的错误信息
  • Code Spell Checker:也就是代码的拼写检测插件,去明确我们在书写代码的时候,有还有没有出现过代码的一个错误书写
  • Error Lens:是一个实时显示我们语法错误的工具
  • GitLens:可以帮助我们在进行处理语法错误的时候,通过版本的回退管理去确定我们到底出现在那个位置

总而言之,我们的语法错误,是在开发环境的下面出现的错误类型,利用各种各样的工具以及我们的开发习惯可以很好去找到,避免以及解决我们的 Bug

二、编译错误

什么是编译错误呢?编译错误是在我们程序运行的时候出现的一种错误类型

  • 查看控制台错误信息
  • 异常捕获(try-catch)
  • 日志记录

通过控制台查看可以看到报错的提示,这个时候就会出现我们能力的提升要求,那控制台的信息我们能不能看得懂呢,如果我们不能看得懂控制台的错误信息,就没有办法分析出来当前的问题是什么,如果看得懂我们控制台的错误信息,那么我们就可以在程序当中,尝试try-catch或者说可以通过日志记录去明确,什么样的情况下会出现我们的编译错误,所以编程错误的出现其能力主要在于现有问题的查看、分析的一个能力。

三、逻辑错误

什么是逻辑错误呢?既不会出现语法错误,也不会出现编译错误。

那么怎么解决呢?

  • console 打印:console的功能的非常强大的,比如说console打印处理,不仅仅是 console.log、还有 console.debuger、console.error...进行打印来确认我们的问题究竟出现在那个位置
  • 程序 debuger:在我们指定的程序位置利用 debuger 设置断点,我们可以设置条件断点:在满足条件的时候进行一个暂停,只有在特定条件下,调试特定的逻辑。那么,这个时候,我们利用程序 debuger 是非常有用的
  • 工具断点调试

使用TypeScript减少Bug:

  • 静态类型检查
  • 类型注解和推断
  • 提前发现错误
  • 智能代码补全
  • 代码可读性和可维护性

bug处理不仅仅是一个技术,它更是一个流程,甚至是我们团队协作和个人成长更好的机遇!

相关推荐
dj154022520314 小时前
group_concat配置影响程序出bug
android·bug
布值倒区什么name14 小时前
bug日常记录responded with a status of 413 (Request Entity Too Large)
运维·服务器·bug
码农派大星。15 小时前
软件测试--BUG篇
功能测试·bug
国王不在家15 小时前
【bug日志-水】解决本地开发下代理和url同名导致刷新404的问题
bug
阿伟来咯~16 小时前
一些 uniapp相关bug
uni-app·bug
生命几十年3万天2 天前
通宵修bug
bug
LilKevinRay2 天前
【SpringMVC】记录一次Bug——mvc:resources设置静态资源不过滤导致WEB-INF下的资源无法访问
java·笔记·mvc·bug
会发光的猪。2 天前
前端vue3若依框架pnpm run dev启动报错
前端·javascript·vue.js·前端框架·bug
小汤猿人类3 天前
苍穹外卖Bug集合
bug
且行且知4 天前
CubeIDE BUG-project‘hello‘has no explict encoding set hello
bug