【发布时间】:2016-02-09 07:44:01
【问题描述】:
场景
假设您,程序员,正在开发一个带有模块文件的 API,比如说 BitmapExtensions.vb,其中充满了扩展方法,例如,每个扩展方法都有 20 个重载,这会导致增加代码行数的源代码,
那么,为了在我们的编程环境中保持高效,请确保您希望将每个方法分成不同的文件(一种具有相同模块名称的部分模块,就像我们对部分类所做的那样),但是,部分模块不能已定义且 Class 不支持 Vb.Net 中的扩展方法,
这完全破坏了用户体验和程序员的工作效率,因为所有这些都是缺点,当搜索特定的重载或添加更多时,总是需要使用 Visual Studio 代码编辑器上的垂直滚动条来滚动数千行,或者多次使用搜索框查找方法名称,因为所有方法及其所有重载都在同一个文件中混乱......而且,它非常难看。
问题
只是......如果可能的话,程序员在这些情况下可以做些什么来组织源代码架构?
我真的不想保留包含 3.000 行代码的模块文件,我希望 1 个文件中的 500 行代码(这意味着 1 个方法及其所有重载)保留相同的名称(空格),并且以此类推,将其他成员放入单独的文件中。
这可能以某种方式进行吗?
PS:当然,将扩展方法转换为通用方法以获得定义部分类的好处不是一种选择。
【问题讨论】:
-
我不明白。如果我在
Ext1中放置一个扩展方法,在Ext2中放置一个重载,它们仍然会在智能感知中显示为重载。为什么你关心模块名称是什么?唯一似乎有区别的地方是在对象浏览器中
标签: .net vb.net organization partial-classes convention