2016年 是闰年,C 或者 C++ 开发者可能会遇到一些问题,微软近期发表了一篇技术博客,提醒开发者为 2016年 闰年可能产生的问题做好准备。

高级软件工程师 Matt Johnson 在文章中提及,开发人员需要注意以下三方面的问题:

  • 日期问题,特别是那些使用日期范围查询的数据筛选。
  • 在用户界面中意外或者不希望出现的行为。
  • 潜在的异常、崩溃或者遇到边缘情况下的挂起。

Johnson 强调,无论开发者的代码是否运行在云端,单元测试在很多情况下可能都并不充分。他提醒开发人员,2012年Azure 就曾出现过和闰年相关的故障。

“闰年的问题可能会在任何地方、在任何语言中出现,但是在 C/C++ 代码中是最危险的,因为它们可能会导致应用程序崩溃,或者缓冲区溢出(这是一个安全风险)。” 他表示,在 C/C++ 中涉及到增加或减少年数的代码以及表示每年中的每一天的数列的代码都容易出现闰年的问题。

此外,Johnson 还提醒开发人员,2月29日 并不是唯一受到闰年影响的日子。12月31日,也就是当年的第 366 天,也可能会受到影响。他建议,开发人员需要仔细检查他们的代码;了解如何在单元测试中 “欺骗时钟”;并且不能局限于闰年之间的情况,还需要对全年进行测试。

余下全文(1/3)

本文最初发表在36氪,文章内容属作者个人观点,不代表本站立场。

分享这篇文章:

请关注我们:

发表评论

邮箱地址不会被公开。 必填项已用*标注