首页 >Java >java教程 >左移编程(Rust 作为案例研究)

左移编程(Rust 作为案例研究)

DDD
DDD原创
2024-12-31 13:02:09934浏览

Shift-left programming (rust as a case study)

左移编程就是在软件开发生命周期中尽早发现潜在问题。如果“左移测试”意味着让测试更接近开发的开始,那么“左移编程”意味着选择能够在编写代码时捕获错误的工具和语言,而不是数小时、数天、或者几个月后,当你的代码已经投入生产时为时已晚,让每个人在凌晨 2 点都感到恐慌

动态语言,如 ? Python, ? Perl 和 ☕ JavaScript 非常灵活。但随着极大的灵活性而来......巨大的运行时错误。这些语言就像那个朋友说:“当然,我会处理它!”但只承认当你已经陷入灾难时,他们不知道发生了什么。

另一方面,像 ? 这样的编译语言CC 、☕ JavaRust 更严格且更不宽容。它们是编程语言的直升机父母——在你的房间(代码)干净之前,它们甚至不会让你出门。例如:

  • Perl 中,你可以将“42”(字符串)添加到 42(数字),它会耸耸肩并说:“无论如何,数学就是数学。”
  • Python中,它会发脾气,但在运行时当它意识到你正在尝试添加苹果和橙子时。
  • CJava中,如果你尝试混合这样的类型,编译器甚至不会你运行代码。
  • 还有铁锈? Rust 处于一个完全不同的水平。是超级严格的教授,在你还没有上交代码之前,就用红笔把你的代码交还给你。

Rust 不仅仅捕获类型不匹配,它实际上还负责整个内存管理过程。忘记悬挂指针或竞争条件; Rust 甚至不允许您编译存在潜在内存安全问题的代码。而C 可能会带着“祝你好运!”的口气把你扔进泳池的深处。挥手,Rust 就在那里,说:“等等!你忘记了你的漂浮物。”

事情是这样的:Rust 不会让你避免所有个错误。它不会阻止你在想要减法时进行加法,也不会阻止你编写一个算法彻底解决了错误的问题。但它会保护您免受灾难性故障的最臭名昭著的罪魁祸首的影响,例如空指针取消引用、缓冲区溢出或内存泄漏。

那么,是什么让 Rust 成为最终的左移编程语言呢?它可以让您编写快速、高效、低级的代码(如 ? 和 C ),同时提供防护措施,防止出现各种错误,否则这些错误可能会花费您数周的调试时间,或者更糟糕的是,在生产期间出现生产中断。假日销售。使用 Rust,您花在消除 bug 上的时间会更少吗?以及更多定时运送功能。

最好的部分是什么? Rust 不仅仅与安全有关。这是关于信心。您发送的代码知道不会背叛您。这就像有一只看门狗来管理你的内存——友好、具有保护性,并且随时准备对任何试图潜入的虫子吠叫。

简而言之:Rust 不仅仅将编程移至左侧,它还把它放在高速公路上。

以上是左移编程(Rust 作为案例研究)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn