当前位置:首页 > 报告详情

提前发现缺陷:语言趋势助您在构建时而非运行时捕获缺陷.pdf

上传人: 竿*** 编号:981538 2025-11-29 83页 14.95MB

1、Moving Your Bugs Forward In Time Chris PriceThis talk has code snippets-sit near the front if you can!THE MANY TIMELINES OF THE MULTIVERSELOKI&ALLIGATOR LOKIA BUG ON THE SACRED TIMELINEDeveloper commits bugA BUG ON THE SACRED TIMELINEA BUG ON THE SACRED TIMELINEDeveloper commits bugFeature successfu

2、lly shipped to prodCI Tests FailDeveloper fixes bugOne engineer,one hourCOSTA BUG ON THE ALTERNATE TIMELINEDeveloper commits bugCI tests do not catch bugBug deploys to prod(us-west)1 day passesA BUG ON THE ALTERNATE TIMELINEDeveloper commits bugCI tests do not catch bugBug deploys to prod(us-west)1

3、day passesA BUG ON THE ALTERNATE TIMELINEDeveloper commits bugCI tests do not catch bugBug deploys to prod(us-west)1 day passesBug deploys to prod(us-east)Bug deploys to prod(eu-west)Another day passesAnother day passesA BUG ON THE ALTERNATE TIMELINEDeveloper commits bugCI tests do not catch bugBug

4、deploys to prod(us-west)1 day passesBug deploys to prod(us-east)Bug deploys to prod(eu-west)Another day passesAnother day passesA BUG ON THE ALTERNATE TIMELINEDeveloper commits bugCI tests do not catch bugBug deploys to prod(us-west)1 day passesBug deploys to prod(us-east)Bug deploys to prod(eu-west

5、)Another day passesAnother day passesAlligator Loki eatsoriginal developerBug deploys to prod(ap-northeast)Operator is paged!Very important customer impacted!A BUG ON THE ALTERNATE TIMELINEDeveloper commits bugCI tests do not catch bugBug deploys to prod(us-west)1 day passesBug deploys to prod(us-ea

6、st)Bug deploys to prod(eu-west)Another day passesAnother day passesAlligator Loki eatsoriginal developerBug deploys to prod(ap-northeast)Operator is paged!Very important customer impacted!Manager is paged!More engineers added to call to go through VCS historyBad commit identified!Engineers review re

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
根据报告的内容,本文主要探讨了如何通过现代编程语言趋势来提前发现和修复软件缺陷,从而提高代码的可维护性和开发效率。以下是关键点: 1. **静态类型**:静态类型系统可以保证避免在运行时出现类型错误,如TypeScript和Kotlin等语言。 2. **空安全**:通过语言特性(如Kotlin的`?`操作符和Rust的`Option`类型)来避免空指针异常。 3. **不可变数据**:使用不可变变量和类(如Kotlin的`val`和`data class`)来简化代码维护。 4. **持久化集合**:使用像Clojure和Scala这样的语言中的持久化集合,以保持性能的同时享受不可变性的好处。 5. **错误作为返回类型**:使用Rust的错误处理模式,将错误作为值处理,而不是异常。 6. **穷尽模式匹配**:通过穷尽模式匹配(如Kotlin的`sealed class`和`when`表达式)来确保所有可能的错误情况都被处理。 7. **语言趋势**:现代语言趋势正推动着在编译时而非运行时发现和修复缺陷。
**静态类型如何防bug**? **Kotlin如何提升代码质量**? **Rust如何让错误早暴露**?
客服
商务合作
小程序
服务号
折叠