在C#中,关于要创建什么类型,应该拥有哪些成员以及应该拥有哪些名称空间的问题是OO设计的问题.它们不是我在这里感兴趣的问题.
相反,我想问一下如何将这些存储在磁盘工件中.以下是一些示例规则:
将所有程序集的类型放在单个源文件中.一位做过此事的朋友说"文件是一个僵尸代码组织工具;今天我使用classview和Collapse to Definitions来浏览我的代码".
将所有代码放在一个程序集中.使部署和版本控制更简单.
目录结构反映命名空间结构
每个命名空间都有自己的程序集
每种类型都有自己的组装.(列为一个极端的例子.)
每种类型都有自己的源文件.
每个成员都有自己的文件; 每种类型都有自己的目录.(列为一个极端的例子.)
chadmyers.. 17
无论你做什么,请坚持不懈地做.我不相信有任何一个答案(虽然有一些错误的答案).但请确保您坚持自己的形式,因为这将是您的继任者轻松找到事物的关键.
无论你做什么,请坚持不懈地做.我不相信有任何一个答案(虽然有一些错误的答案).但请确保您坚持自己的形式,因为这将是您的继任者轻松找到事物的关键.
目前我这样做:
一个用于生产代码+单元测试的组件
目录结构模仿名称空间
每个文件一种类型
嵌套类型使用partial
类型获取自己的文件.那是:
// ------ C.cs public partial class C : IFoo { // ... } // ------ C.Nested.cs partial class C { public class Nested { // ... } }