【问题标题】:Should I place every class in separate file?我应该将每个班级放在单独的文件中吗?
【发布时间】:2012-03-13 13:57:04
【问题描述】:

我应该将每个类放在单独的文件中吗?即使是那些只在一个地方使用的短助手类?喜欢这个:

public class IntToVisibilityConverter : GenericValueConverter<int, Visibility>
{
    protected override Visibility Convert(int value)
    {
        return value == 0 ? Visibility.Collapsed : Visibility.Visible;
    }
}

【问题讨论】:

  • 如果你有一个类确实需要是一个单独的类但也只在一个地方使用,最好将它保存在同一个文件中。但是,如果这种情况经常发生,您可能会遇到更大的问题。

标签: c# .net coding-style


【解决方案1】:

我这样做,通常这样做是最佳做法,但有时这是一个见仁见智的问题。

【讨论】:

  • 什么是不回答。通常但真的是见仁见智吗?什么?
  • 我没有看到这个问题。这通常是最佳做法,但有些人不这样做,这有什么问题?
  • “通常是最佳实践”,因为我工作过的一些公司没有将其作为最佳实践,而有些公司则有。 “有时见仁见智”,因为有些人真的不在乎,有些人在乎。问题在于问题本身而不是答案,其他人刚刚重申了我所说的话。希望这可以为您解决问题。
【解决方案2】:

这很大程度上取决于个人喜好,但我喜欢这样做。

在这种情况下,我的应用程序中有一个名为 ValueConverters 的文件夹,所有转换器,包括它们自己的文件中的短转换器。

我发现从解决方案资源管理器中了解您的项目包含的内容更容易。

【讨论】:

    【解决方案3】:

    我会为你改写问题:我应该使用StyleCop 吗? (它包括此规则)。答案是肯定的。我使用它并且我的代码更具可读性(但我不得不承认我禁用了所有需要方法文档完整的规则:-))

    我确实认为,当您在团队中编程时,具有固定且统一的代码格式非常重要。甚至当你编程“solo”时。混乱的代码更难阅读,错误可以更好地隐藏在混乱中:-)

    【讨论】:

      【解决方案4】:

      将每个类放在一个单独的文件中通常是最佳做法。考虑到您的短期助手课程;您可以创建一个包含所有辅助方法的辅助类,以防止类太多。如果你的助手类变得太大,你可以将你的助手函数按类别分开

      【讨论】:

        【解决方案5】:

        这样做是个好习惯。

        如果以类命名文件,则可以轻松找到该类。

        Resharper 对与它们所在的文件名不匹配的类有一个内置错误...

        【讨论】:

        • 为什么要搜索只在一个地方使用并且在同一个文件中声明的类?
        • @Poma - 今天,只在一个地方。和明天?你将写一个新的,因为你找不到现有的助手。
        • @Poma - 如果您在以后扩展时突然需要在应用程序的另一个地方使用它怎么办?在可扩展性方面构建您的应用程序,而不是走捷径。
        【解决方案6】:

        通常,IMO 是的。想想任何必须找到代码所在位置的新开发人员。是的,您可以使用 go to definition,但这不是全部,全部结束。但是,我会说,有时如果你有一个很小的接口并且只用于它所在的类,那么你可能会侥幸逃脱。但是,即使这样也可以扩展,并且以后需要被拉出(也许这些合约无论如何都应该在另一个命名空间中)。

        所以,最终,我会说大部分时间,是的,但有一些警告。与任何事物一样,它永远不会非黑即白

        【讨论】:

          猜你喜欢
          • 2011-01-24
          • 1970-01-01
          • 2017-08-16
          • 1970-01-01
          • 1970-01-01
          • 2014-10-11
          • 1970-01-01
          • 2021-09-16
          • 2018-08-31
          相关资源
          最近更新 更多