这个讨论是关于默认值的名称: C#:枚举的默认值应该是None还是Unknown?
然而,我最近与之交谈过的大量人认为默认值是有害的,不必要的,并可能导致不良做法.
举个例子考虑以下内容:
enum eJobStates
{
JOB_STATE_INITIALISING,
JOB_STATE_PROCESSING,
JOB_STATE_DONE
};
Run Code Online (Sandbox Code Playgroud)
对于一个工作来说,JOB_STATE_UNKNOWN是没有意义的,但你可以想象任何可能用于监控所述工作的结构都可以使用这样的价值.
在定义枚举时是否有关于创建默认值的最佳实践/经验法则?是否应尽可能不惜一切代价避免它们?