关于C中的命名约定,我有一个问题,我认为大多数以前提出的问题或通常的资源(如
MSDN Naming Guidelines
. 现有的大多数命名约定都集中在框架和其他类要使用的东西上。这可能有点不同。
您将main()所在的类命名为什么?它和它的超类有什么关系?
假设您是一个初出茅庐的程序员,并且创建了一个类似于此站点的小应用程序。你可以这样做。
// the title of the class happens to be the title of the project
namespace FogCreek {
public class StackOverflow {
public static Main() { ... }
}
}
但之后,您决定随着增长重构您的内部,并创建更多的堆栈站点,每个站点都复制自己的名称空间。
namespace FogCreek.StackSites.StackOverflow {
public class WhatDoICallThis : StackExchangeSite {
public static Main() { ... }
}
}
// elsewhere in another project...
namespace FogCreek {
public class StackExchangeSite {
...
}
}
我不太愿意叫它stackoverflow,因为它的全名是fogcreek.stacksites.stackoverflow.stackoverflow。这不是有点多余吗?
此外,StackExchangeSite是否应位于FogCreek中自己的命名空间中?还是应该比从中派生的项目“更高”?
Company.Foobar.Widget
-> Company.Foobar.Widget.RoundWidget
-> Company.Foobar.Widget.SquareWidget
vs
Company.Foobar.Widget.BaseWidget
-> Company.Foobar.Widget.RoundWidget
-> Company.Foobar.Widget.SquareWidget
我不喜欢第二个选项,因为我不记得有任何使用“base”这个词的可扩展类。