PHP-Z

编程

开发者请注意闰年问题

2016-2-29 23:25 发布者: admin

开发者请注意闰年问题

  英文原文:Is your code ready for the leap year?

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

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

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

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

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

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

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

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

来自: 36kr.com

关注微信公众号

扫一扫关注微信公众号

PHP-Z_COM