当前位置: 首页 > news >正文

读书笔记4-11.6

这一章的核心思想是,程序员必须承认一个残酷的现实:完美的软件是不存在的。既然我们无法写出毫无瑕疵的代码,那么就必须采取一种“偏执”的防御性策略,来应对必然存在的错误和不确定性。作者将这种策略比作防御性驾驶。在开车时,我们不仅要遵守交通规则,还要时刻警惕其他司机的错误,并提前预判可能发生的意外。同样,在编程时,我们不能只相信自己的代码,还要对输入的数据、调用的外部库、甚至是我们自己写的代码保持怀疑。本章介绍了几种关键的防御性技术。首先是按合约设计 ,它要求我们为每个函数或方法明确地规定其“权利”与“责任”,就像签订一份合同,明确了双方的责任,能极大地减少因误解而产生的错误。其次是死程序不说谎,主张当程序遇到无法处理的错误时,与其让它带着错误的数据继续运行,不如让它立即崩溃,因为一个“死”掉的程序比一个“带病”运行的程序更容易调试和修复。此外,还有断言式编程,通过在代码中插入断言来检查那些“理论上不可能发生”的情况,帮助我们在问题发生的源头就抓住它。本章还讨论了何时使用异常,强调异常应该用于处理真正的“异常”情况,而不是作为程序正常流程的一部分。最后,怎样配平资源强调了“有始有终”的原则,即分配资源的代码也应该负责释放资源,以有效防止内存泄漏和资源耗尽等问题。

http://www.rkmt.cn/news/182907.html

相关文章:

  • PyTorch模型保存与加载:在Miniconda中进行持久化操作
  • Miniconda vs Anaconda:为什么选择轻量级Python镜像更高效
  • AI赋能软件测试:如何在质量保障领域真正降低人力成本
  • [线上问题排查参考 | 01]
  • 制剂处方数据库【制剂组分研究】
  • numa balancing缺陷分析
  • yolov5识别demo
  • vector模拟实现与核心机制
  • Python安装后无法导入模块?Miniconda-Python3.10修复sys.path
  • 免费开源!Stable Diffusion AI 生图天花板,下载安装一款能免费部署的 AI 绘图神器
  • HTML前端展示:将训练结果嵌入网页中的Jupyter输出
  • 2025年东莞线对板连接器厂家口碑洞察报告:从技术到服务的专业选型指南 - 品致汇
  • 使用SSH连接远程Miniconda容器进行长时间模型推理任务
  • 《程序员修炼之道:从小工到专家》观后感第八篇
  • Mac M1芯片适配:Miniconda安装PyTorch ARM64版本指南
  • HTML音频播放功能:Miniconda-Python3.10处理语音大模型输出
  • 数据人狂喜!这款Oracle导出工具,效率直接拉满!
  • 零门槛大模型知识库搭建指南:5分钟用Dify实现RAG应用,小白必学,建议收藏!
  • 清华镜像HTTPS配置:Miniconda-Python3.10避免证书验证错误
  • 经营帮集中采购:中小企业采购降本的实用选择
  • 项目管理中最大的浪费是什么?
  • 《程序员修炼之道:从小工到专家》观后感第七篇
  • CUDA安装后无法识别?教你正确配置Miniconda中的PyTorch环境
  • Conda create环境超时?Miniconda-Python3.10指定国内源解决
  • 清华大学开源镜像站加速Miniconda组件下载速度
  • 无代码还是Vibe Coding? 场景三
  • Markdown TOC自动生成:Miniconda-Python3.10配合tocmd工具使用
  • 2025国内最新护肤品代加工企业top6榜单公布!广东、广州等地区行业优质公司专业解析及选择指南,资质产能双优助力品牌高效发展 - 全局中转站
  • 一键清除指定端口的 Windows 批处理脚本使用指南
  • 无代码还是Vibe Coding? 场景四