编写高质量代码改善C#程序的157个建议——建议123:程序集不必与命名空间同名

建议123:程序集不必与命名空间同名

程序集一般会和命名空间同名,但这并不是必须的。事实上,不同名的命名空间和程序集是很常见的。

程序集表示的是一种物理上的分组,而命名空间是逻辑上的分组,两者没有必然联系。

当然,如果项目最终会被编译为dll,则我们更建议程序集和命名空间命名保持一致,这看上去更符合习惯。比如System.Data命名空间,对应的应该有一个System.Data.dll的程序集。我们当然也可以让程序集仅仅命名为Data.dll,即使不说,相信你也会觉得这欠妥当,因为这样的命名太普通了。让dll程序集和命名空间保持一致的做法还带来一个好处,就是让开发人员只凭文件名就知道命名空间的命名,这有助于开发过程中的快速查找。

如果程序集最终被编译成可执行程序(如exe),这种情况下的命名大多数不会和命名空间保持一致。Microsoft.Office.Word.exe这样的命名看起来很奇怪,我们可能更习惯看到Word.exe这样的文件。当然,这仅仅是习惯而已。

转自:《编写高质量代码改善C#程序的157个建议》陆敏技