C# 状态命名约定

C# 状态命名约定,c#,java,file,distributed,conventions,C#,Java,File,Distributed,Conventions,我正在做一个项目,它有多个C#和Java(可互操作)部分。我正在处理文件,保存文件的状态会很好。ie:哪一部分失败了,如果失败了在哪里。此外,如果所有内容都已处理,则将其标记为已处理 因为这个系统有多个组件,大约5个组件。我希望能够使用命名约定来记录具有状态名称的文件。假设文件是一个启动的组件1,我想在它完成后将其标记为状态1,我想将其重命名为A.1.complete等等 我曾考虑使用持久性数据库,但它给系统带来了更多的层和更多的依赖性。如果我能提出一个模式(命名模式),我将避免使用数据库层 您

我正在做一个项目,它有多个C#和Java(可互操作)部分。我正在处理文件,保存文件的状态会很好。ie:哪一部分失败了,如果失败了在哪里。此外,如果所有内容都已处理,则将其标记为已处理

因为这个系统有多个组件,大约5个组件。我希望能够使用命名约定来记录具有状态名称的文件。假设文件是一个启动的组件1,我想在它完成后将其标记为状态1,我想将其重命名为A.1.complete等等

我曾考虑使用持久性数据库,但它给系统带来了更多的层和更多的依赖性。如果我能提出一个模式(命名模式),我将避免使用数据库层


您将如何操作?

为每个状态创建一个文件夹结构

| 1
|- Inbox
|- Working
|- Complete
| 2
|- Inbox
|- Working
|- Complete
| 3
|- Inbox
|- Working
|- Complete
| 4
|- Inbox
|- Working
|- Complete
| 5
|- Inbox
|- Working
|- Complete
更改状态时,在不同文件夹之间移动文件。

使用文件夹结构而不是命名方案可以更容易地找到给定状态下存在的项目。只列出所有文件,而不是试图解析部分文件名。不会因为文件一开始就有“A.1.txt”的名称而发疯。

。但是如果我有这么多文件呢。然后我还需要创建子文件夹,对吗?有多少子文件夹?如果您只是从代码中访问文件夹中的许多文件,那么这些文件并不是什么大问题。大多数情况下,当您在文件管理器中浏览文件夹时,速度可能会变慢。@DarthVader我为您做了这件事:)文件的数量相当于包含大约150亿行被删除的行。但是文件将是成块的。好吧,那可能是一堆!如果创建
x
子文件夹,则可以将文件存储在文件夹
GetHash(filename)%x
中。然后,您将获得相当均匀的文件分布,您知道在哪里可以找到给定的文件。它比你想要多少文件夹中的起始字母更灵活。如果您的文件碰巧有意外的起始字母,例如
-
,那么它也会更加健壮。