开发者请注意闰年问题2016年,还有哪些领域值得投资?
2016年 是闰年,C 或者 C++ 开发者可能会遇到一些问题,微软近期发表了一篇技术博客,提醒开发者为 2016年 闰年可能产生的问题做好准备。
高级软件工程师 Matt Johnson 在文章中提及,开发人员需要注意以下三方面的问题:
- 日期问题,特别是那些使用日期范围查询的数据筛选。
- 在用户界面中意外或者不希望出现的行为。
- 潜在的异常、崩溃或者遇到边缘情况下的挂起。
Johnson 强调,无论开发者的代码是否运行在云端,单元测试在很多情况下可能都并不充分。他提醒开发人员,2012年Azure 就曾出现过和闰年相关的故障。
“闰年的问题可能会在任何地方、在任何语言中出现,但是在 C/C++ 代码中是最危险的,因为它们可能会导致应用程序崩溃,或者缓冲区溢出(这是一个安全风险)。” 他表示,在 C/C++ 中涉及到增加或减少年数的代码以及表示每年中的每一天的数列的代码都容易出现闰年的问题。
此外,Johnson 还提醒开发人员,2月29日 并不是唯一受到闰年影响的日子。12月31日,也就是当年的第 366 天,也可能会受到影响。他建议,开发人员需要仔细检查他们的代码;了解如何在单元测试中 “欺骗时钟”;并且不能局限于闰年之间的情况,还需要对全年进行测试。
本文文字及图片出自 36氪
你也许感兴趣的:
- Let’s Encrypt:准备开始签发IP地址证书
- 谷歌浏览器将提供内置翻译和语言检测 API
- OpenAI 将用 Rust 重建 Codex CLI,放弃之前的 TypeScript 版本
- 用 AI 生成的安卓 App:优点、缺点与令人震惊之处
- 为什么所有浏览器的用户代理(User-Agent)都以“Mozilla/”开头?
- 新发现的 Linux udisks 漏洞使攻击者能够在主要 Linux 发行版上获得 root 权限
- 没错,没人关心 Linux 上的使用友好性
- Git Notes:Git 最酷但最不受欢迎的功能
- Kubernetes 2.0 将会是什么样子
- bzip2 crate 从 C 切换到 100% rust
你对本文的反应是: