每行程序都有Bug

程序员的bug修复宝典 前言 bug, 又名程序缺陷或者程序漏洞, 是每个程序员每天都回避不了的东西。程序员对bug的感情可谓是五味杂陈:一方面bug非常可恶,尤其是一些偶现的bug,它强大到可以摧毁一个优秀程序员的意志;另一方面很多bug又是程序员自己亲手写下的,无奈之余只能自嘲一句:不写bug我们就要失业了! 作为一名职业程序员,同时也是一名开源创作者, 夸张点说,我解过的bug可以绕地球一圈, 每天写bug解bug几乎是我的日常。 但是,作为一个善于思考和总结的技术up主,我怎么能止步于每天写bug和解bug呢?更何况, 阅读详情

标题中提到“每行程序都有Bug”,我是个认真的人,我要好好考虑这个问题,我相信大部分程序员都会遇到下面我要说的问题。

1.int a = Integer.parseInt("12");//这里有必要进行try...catch..吗?
或者
2.String b="12";//b是个外界传递的变量,不固定
3.int a = Integer.parseInt(b);//这里有必要进行try...catch..吗?

对于上面代码,我觉得简单了,没有多说的必要。大部分人会认为1行不需要 进行try,2行需要;但是我要说点不一样的。
对于Integer.parseInt(“12”),在狭义的理解范围内不需要进行try,但是parseInt()也不是绝对不需要try的。只是在我这样的程序员眼里,此方法由JDK提供,稳定性能良好,”不需要”try。当然不try 也不能说算错。
我这里引入一个概念:对于程序中容易出错的代码行,概率大于5%的是需要try的。反之,可以不try。

我现在老是担心自己的代码行,会出错,try的地方太多,反而影响了执行效率。或许对于大家来讲牺牲执行效率,提高系统的稳定性,容错性才是对的。我有一个中庸的观点,对于错误率小于5%的代码,如果不想牺牲执行效率,就没有必要try 了。
回到起点,我们try…catch 的目的是为了在程序出错时不至于系统会shutdown掉。对于因为系统的运行环境问题而可能导致异常,其实不去try 也行。例如:我们装软件的时候,软件的系统位数问题。64位程序装到了32位系统上。

我觉得,开发是要尽可能的避免软件异常,但是也不能杜绝程序会有错。我们当然希望写的程序可以在任意恶劣的环境下正常运行,但也是没必要与不可能的。例如,我们可以在没电的电脑上运行吗?

上面所说有人可能认为我是在抬杠。好吧,我们在举个例子:发送网络请求,网络不通。或者突然间网络不通了。当然有解决的办法,我只是要说明的解决办法是设计的问题,是策略的问题,归根到底也是落到程序上。但不能面面俱到,十全十美。

以上是我个人意见,不喜欢请留言。

遇到程序员不修改bug时怎么办?我教你 今天的话题,是所有测试员都会经历的,也多为此苦恼过。笔者借此谈谈自己的看法,不求解决现状,只希望读者看完此文后能少一些苦恼。 阅读详情

相关推荐

【ROS2】Arduino系列之机器人底盘实现

介绍ros中提供的一个已经封装了的模块: ros_arduino_bridge,该模块由下位机驱动和上位机控制两部分组成,通过该模块可以更为快捷、方便的实现自己的机器人平台

guilin 1484

千万不要跟程序员说,你的代码有bug

千万不要跟程序员说,你的代码有bug他的第一反应是你的环境有问题,第二就是你是傻逼不会用吧你要跟他这么说,这个程序运行的怎么运行的跟预期不一样,是我操作有问题吗?这货就会第一反应,我擦,这是不是出bug了?

绯浅yousa的笔记 1万+

Python气象雷达数据处理实战:用PyCINRAD从基数据到PPI图的完整流程

本文详细介绍了使用PyCINRAD库处理气象雷达基数据并生成PPI图的完整流程,涵盖环境配置、数据读取、反射率与速度数据提取、可视化优化等关键步骤。通过实战案例演示如何从原始雷达数据到专业级PPI图像生成,为气象研究和业务应用提供高效解决方案。

yog99的博客 758

为啥程序会有bug?

如果这是第二次看到我的文章,欢迎点击文末链接扫码订阅我个人的公众号(跨界架构师)哟~本文长度为4818字,建议阅读13分钟。坚持原创,每一篇都是用心之作~ 这是一篇半娱乐性的吐槽文章,权当给广大技术人员解解闷:)。 哈哈哈,然后我要开始讲一个经常在发生的事实了。(程序员们可能会感到一些不适) 99.999999999%做技术的都会被问到或者被吐槽到:“你的程序怎么又出bug了!” 反正,...

weixin_34130389的博客 554

yolov8x-p2 实现 tensorrt 推理

yolov8x-p2, tensorrt 实现.

J。 2273

17|CI/CD 集成与质量门禁:让精准测试进入发布流水线

本文讲解精准测试如何接入 CI/CD 流水线,并通过质量门禁辅助发布决策。测试开发工程师。Java 后端开发工程师。质量平台 / DevOps 平台建设者。想了解精准测试落地方法的技术负责人。

专注 AI 精准测试平台实战落地,分享从代码 Diff 到回归决策的完整工程闭环。主张“先建数据链路,再上 AI 智能”,让测试从“靠经验”走向“基于风险”。 65

揭秘软件开发中的达摩克利斯之剑

为什么你的程序总是出现 bug? 凭什么让改 bug 占据了你大部分的时间? 看完本文,保证你能设计出更稳定的程序,摆脱 bug 的缠绕,做项目更安心! 记得我在学校的时候,做的那些项目,不是为了应付课程作业,就是为了参加比赛时展示用,因此对项目的质量要求非常低。 到底有多低呢? 大部分的项目,只要基本的功能可以使用,就算完成了,完全不考虑任何的异常情况。甚至只要能成功运行一次,让我截几张图放到 PPT 或者实验报告里,足够向老师交差或者应付比赛答辩就行。 那项目出现 bug 怎么办呢? 如果测试的

努力做最接地气的编程干货分享,感谢关注 1572

001、Zephyr RTOS简介与历史背景

本文介绍了Zephyr RTOS的特点及其在嵌入式开发中的应用。作者通过亲身经历比较了Zephyr与传统RTOS的差异,重点分析了Zephyr的设备树、统一驱动模型、基于CMake的构建系统、POSIX兼容层等核心特性。文章详细阐述了Zephyr在内核设计上的优势,如中断处理模型、内存管理等,并提供了社区生态和使用建议。作者建议开发者从简单项目入手逐步掌握Zephyr,同时指出了常见的使用问题和适用场景,认为Zephyr特别适合复杂软件架构的物联网和工业控制项目。

m0_50546716的博客 154

程序员翻车时最常见的6种反应,你占了几条?

人无完人,对于程序员来说,写出有 bug 的代码是在所难免的 。 下面 程序员在修复 bug 时可能会说的一些话或者想法 ,你占了几条?赶紧一起来看看。 “就因为忘记加个分号,整个程序都崩溃了” 我用过的每一种编程语言几乎都需要行终止符,当然并不是所有的都需要,但 C/C++ 族编程语言通常是这样的。如果你忘记添加结束分号,只是一个无心的错误,但解析器不理解这一点,它会无情地抛出一个致命错误。然后,你必须再花 20 分钟来查看代码,最后你发现缺少了一个分号。也许这就是调试的“乐趣”。 “天哪,我为什么

weixin_51218990的博客 366

【异常】Claude Code 第三方API 400报错(thinking type should be enabled or disabled)解决方案

摘要: Claude Code接入第三方API端点时出现400参数错误,主要因新版默认启用的Adaptive Thinking功能与旧版接口参数格式不兼容(需thinking: {type: "adaptive"},但第三方仅支持布尔值)。解决方案为修改本地settings.json配置文件,添加"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"环境变量并重启客户端,即可恢复思考模式功能。Adaptive Th

奶爸的编程之路,也就一周冷个三天 1万+

php环境如何实现国密SM2相关功能

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1616

没有bug的程序

TeX — Beauty and Fun 这里是一个宣传 TeX — 世界上最漂亮,最有趣,最可靠的排版程序的网页。希望通过我的介绍,你能体会到使用 TeX 的快乐感觉,并且成为一个 TeX 的用户和支持者。由于中国 TeX 的普及率还很低,我们必须适当宣传。如果你也情不自禁爱上了 TeX,你希望更多的人从中受益,那么就把 TeX介绍给你的朋友们吧。 不管你怎么到了这里,或者是写论文时被 Wo...

liuyukuan的专栏 1666

NTC热敏电阻选型快速指南

NTC(Negative Temperature Coefficient Thermistor)负温度系数热敏电阻器,是由锰Mn,镍Ni,铜Cu,一氧化碳Co等烧结而成的氧化物。其电阻值随温度的升高而减小,即具有复温度系数,故被称为负温度系数热敏电阻。本文对热敏电阻的应用场景,结构特点和选型参数进行总结。

fydar的博客 1295

程序bug 有什么

程序中的 bug(错误)是指程序在运行时未按预期工作或导致错误结果的缺陷。程序 bug 可以出现在任何类型的软件中,无论是简单的脚本还是复杂的应用程序。

Kemo_的博客 1681

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

为啥程序会有Bug?

作者:Zachary_Fan 微信公众号:跨界架构师 这是一篇半娱乐性的吐槽文章,权当给广大技术人员解解闷:)。 哈哈哈,然后我要开始讲一个经常在发生的事实了。(程序员们可能会感到一些不适) 99.999999999%做技术的都会被问到或者被吐槽到:“你的程序怎么又出bug了!” ▲图片来源于网络,版权归原作者所有 反正,我作为程序员的内心世界是:如同一万只草泥马飞奔而过,难以压抑内心的激动,每...

weixin_44476888的博客 392

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

现实世界充满了bug_为啥程序会有bug?

如果这是第二次看到我的文章,欢迎订阅z哥的公众号(跨界架构师)哦~每周五11:45 按时送达。当然了,也会时不时加个餐~本文长度为4818字,建议阅读13分钟。这是一篇半娱乐性的吐槽文章,权当给广大技术人员解解闷:)。 哈哈哈,然后我要开始讲一个经常在发生的事实了。(程序员们可能会感到一些不适~)99.999999999%做技术的都会被问到或者被吐槽到:“你的程序怎么又出bug了!”▲图片来源于网...

weixin_42300478的博客 506

老程序员解Bug的通用套路_程序员如何解决bug

我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习已经将知识体系整理好(源码,笔记,PPT,学习视频)7656219)][外链图片转存中…(img-8Z546JNH-1714787656220)][外链图片转存中…(img-VZVufMmB-1714787656220)]本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录。

2401_83977357的博客 981

新人程序员如何在复杂的程序中寻找Bug?

很多新人程序员敲代码的经验几乎为零,更别提准确的找到Bug了。那么如何寻找Bug呢?修复Bug不容易,找到方法或许可以事半功倍哦! 1、优先解决那些可重现的bug 可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间。 2、与有经验的同事分享思路 对于某些bug...

chiluoyan2037的博客 553

漫谈程序员系列:无BUG不生活

我决定谈一谈世界上最著名的虫子

安晓辉生涯——聚焦程序员的职业规划与成长 2万+
下一篇: JS 遍历树
phangle2015
博客等级 码龄12年 22粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值