代码中健壮性的理解

所有源码中都会有一堆健壮性处理


健壮性:代码在出现预期之外错误情况下的应对能力。

就好比如我们身体很strong,但是不代表我们不会生病,只要我们身体够strong,即使生病了也能快速抵抗恢复。

代码健壮性能带来什么作用:


  1)  能够快速定位bug提升开发效率

// 最基础最常用-不要信任参数
function add ( a , b ) {
    return a + b
}
let result = add(1); // NAN
axios.get('×××')     // 400


// 严谨模式-代码健壮
function add ( a , b ) {
    // 检测到a或者b不是数字则抛出错误提示
    if(typeof a === 'number' && typeof b === 'number') {
        return a + b
    } else {
        throw new Error('a or b is not a number')
    }
}
// 这个时候就可以及时定位问题
let result = add(1); 

上述代码中按照正常逻辑调用 我们应该传两个Number类型参数,如果在使用者不知道的情况下,只传了一个参数结果返回的NAN,而且 浏览器没有报错 不打印出来就没有任何提示,这个时候再把数据(NAN)传输到后台,后台返回400 这个时候后台返回报错信息,自然而然 我们会认为接口请求这块出现了错误,我们要花费不少时间来找这个bug,从而浪费了开发的时间。


  2)  不至于因为错误导致全局崩溃

// 正常我们的代码块是一起执行的,结果中间抛出了一个错误
// 我们代码块在错误的那一段直接停止运行了
console.log(1)
throw new Error()
console.log(2)

// 比如说后端,如果有代码块错误肯定不会直接停止运行
// 所以后端会有生成一个错误日志,如果有错误不会停止运行,而是记录起来,不会因为一个错误把整个项目运行给中断


// 前端数据问题
let obj = {};
console.log(obj.a.b)
// obj.a -> undefined
// obj.a.b -> 报错
try {
    // 易错代码
} catch(e) {
    // 抛出错误
}

try{}catch(e){} 对于前端来说使用还是较少,以上例子只是提醒我们大家平常在工作中 能够养成一个良好的代码习惯,同样分享一下在源码中对健壮性的一个了解。

如果这篇文章有帮助到您还请点个赞哦~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Python的编程代码健壮性是指代码能够正确处理各种异常情况,并且在出现错误时能够提供有效的错误提示或处理方式。代码健壮性是一个很重要的方面,可以提高代码的可靠性和稳定性。 在实际工作,虽然可以不完全遵守Python的代码风格规范(PEP8),但是代码一定要更具健壮性。这意味着需要注意一些容易存在BUG的代码编写问题。一些常见的容易存在BUG的地方包括: 1. 异常处理不完善:在编写代码时应该考虑到可能出现的异常情况,并进行相应的异常处理。比如使用try-except语句来捕获异常,并给出适当的错误提示或处理方式。 2. 输入验证不充分:在接收用户输入或外部数据时,需要对输入进行验证和过滤,以确保输入的合法性和安全性。可以使用正则表达式或其他验证方法来对输入进行验证。 3. 边界条件处理不当:在处理循环、列表、字典等数据结构时,需要注意边界条件的处理,避免数组越界或索引错误等问题的发生。可以使用条件判断语句或循环控制语句来处理边界条件。 4. 变量命名不规范:变量命名应该具有一定的描述性,能够清晰地表达变量的含义。变量名应该使用小写字母和下划线,并且避免使用单个字母作为变量名。 5. 缺少注释和文档:在编写代码时,应该添加适当的注释和文档,以便他人能够理解代码的功能和实现方式。注释应该清晰明了,解释代码的意图和逻辑。 总之,代码健壮性是保证代码质量的重要一环。在编写Python代码时,需要注意以上列举的容易存在BUG的地方,并采取相应的措施来提高代码健壮性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python如何写出健壮的代码](https://blog.csdn.net/wangzhiping321/article/details/123961739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [使用python3的typing模块提高代码健壮性](https://blog.csdn.net/sinat_38682860/article/details/118254224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值