将"Ex"添加到函数/方法名称时,这意味着什么?

J C*_*per 14 language-agnostic winapi naming-conventions

我没有太多使用Windows API,但我已经看到它在那里使用以及偶尔在代码库中工作.

Han*_*ant 24

是的,他们希望改进(扩展)API并保留一个类似的名称,以便程序员可能会转移到新版本.

值得注意的是GetVersionEx()获得了Windows版本,有一段时间令人讨厌的鸡蛋问题非常痛苦.

记录管理员是国家语言支持团队,他们有几个ExEx版本,如EnumCalendarInfoExEx.不足为奇的是,文化的发展速度甚至超过了软件.目前还没有ExExEx.

  • *大多数*“Ex”函数应该通过“struct”获取参数,其第一个成员是“struct”的大小。大小充当版本号,并且应该允许在必要时进一步扩展功能,而不需要额外的“Ex”后缀。 (6认同)

Boo*_*jum 9

它通常作为一种在API中将参数更改为函数而不破坏现有客户端代码的方式来完成.旧代码可以继续使用以前的版本,而新代码可以利用Ex版本提供的新功能.


Lar*_*nal 5

这是一个命名约定,只是表明函数是原始的扩展版本.

  • 是的,这是为了提供向后兼容性——Windows 几乎不会废弃 API 函数。 (2认同)