如何将C#代码组织到文件中?

Jay*_*uzi 14 c# code-organization

在C#中,关于要创建什么类型,应该拥有哪些成员以及应该拥有哪些名称空间的问题是OO设计的问题.它们不是我在这里感兴趣的问题.

相反,我想问一下如何将这些存储在磁盘工件中.以下是一些示例规则:

  • 将所有程序集的类型放在单个源文件中.一位做过此事的朋友说"文件是一个僵尸代码组织工具;今天我使用classview和Collapse to Definitions来浏览我的代码".

  • 将所有代码放在一个程序集中.使部署和版本控制更简单.

  • 目录结构反映命名空间结构

  • 每个命名空间都有自己的程序集

  • 每种类型都有自己的组装.(列为一个极端的例子.)

  • 每种类型都有自己的源文件.

  • 每个成员都有自己的文件; 每种类型都有自己的目录.(列为一个极端的例子.)

cha*_*ers 17

无论你做什么,请坚持不懈地做.我不相信有任何一个答案(虽然有一些错误的答案).但请确保您坚持自己的形式,因为这将是您的继任者轻松找到事物的关键.


Jay*_*uzi 6

目前我这样做:

  • 一个用于生产代码+单元测试的组件
  • 目录结构模仿名称空间
  • 每个文件一种类型
    • 嵌套类型使用partial类型获取自己的文件.那是:


// ------ C.cs

public partial class C : IFoo
{
    // ...
}

// ------ C.Nested.cs
partial class C
{
    public class Nested
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)