开发者请注意闰年问题

jopen 8年前

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

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

  • 日期问题,特别是那些使用日期范围查询的数据筛选。

  • 在用户界面中意外或者不希望出现的行为。

  • 潜在的异常、崩溃或者遇到边缘情况下的挂起。

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

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

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

本文编译自: azure.microsoft.com ,如若转载,请注明出处:http://36kr.com/p/5043846.html

“看完这篇还不够?如果你也在创业,并且希望自己的项目被报道,请戳这里告诉我们!”

</div>

来自: http://36kr.com/p/5043846.html