【发布时间】:2012-04-12 15:51:52
【问题描述】:
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,即使这意味着对它们隐藏它。
【问题讨论】:
-
IMO,我认为在这种情况下不遵守指南是完全可以的。摘要评论及其明显的 WinAPI 风格足以让它保持原样——大多数人都会理解。如果您必须选择一种格式,我想我最喜欢
ExtendedWindowStyles.Composited作为类中的常量。 -
怎么会太匈牙利语?
-
@Cory 所以你说我应该装饰这样的东西,这样 FxCop 和 StyleCop 就不会抱怨?
-
@TLama 好的,所以我会编辑它并说我喜欢 FxCop 和 StyleCop 不抱怨。
-
为什么
WS_EX_COMPOSITED错了?我真的不明白。就与 Windows API 的接口而言,它已尽善尽美。
标签: c# winapi naming-conventions pinvoke constants