naming convention for constants in C#是pascal外壳:

private const int TheAnswer = 42;

但有时我们需要从windows api中表示已经存在的常量。
例如,我不知道如何命名:
/// <summary>
/// With this style turned on for your form,
/// Windows double-buffers the form and all its child controls.
/// </summary>
public const int WS_EX_COMPOSITED = 0x02000000;

我该叫什么名字?
保持它为WS_EX_COMPOSITED允许我快速将它与the WinAPI关联,但这是错误的。
一些选项:
WsExComposited——太匈牙利了
Composited--太短
WsEx包含Composited的枚举--仍然是匈牙利语
ExtendedWindowsStyles.Composited--一个类中的常量?枚举?
应当指出,良好命名的目标是:
它必须可读。
它不能触发fxcop和stylecop,即使这意味着要对它们隐藏它。

最佳答案

ws-ex-u composited对于直接与win-api(或任何其他相关的文档化api)接口的部分来说是非常好的。您要公开的部分应该遵循标准约定—使用单独的公共外观来调用具有良好方法名的本机函数(您最终会忘记您对标志的特定组合所做的研究,但良好的包装方法名至少会让您使用它)。
保持名称尽可能接近本地API的另一个好处是可以直接在MSDN/其他文档中搜索常数,并立即找到答案。如果你把它改名的话,那就难多了。

10-06 15:26