我应该把每个类都放在单独的文件中吗

本文关键字:单独 文件 我应该 | 更新日期: 2023-09-27 18:27:33

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

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

我应该把每个类都放在单独的文件中吗

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

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

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

我发现它可以更容易地从解决方案资源管理器中获得项目组成的概述。

我会为您重新表述这个问题:我应该使用StyleCop吗?(包括此规则)。答案是肯定的。我使用它,我的代码可读性更强(但我必须承认,我禁用了所有要求方法文档完整的规则:-)

我确实认为,当你在一个团队中编程时,拥有一个固定和统一的代码格式是非常重要的。甚至当你编程"独奏"时。杂乱的代码更难阅读,错误可以更好地隐藏在杂乱中:-)

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

这样做是很好的做法。

如果以类的名称命名文件,则可以很容易地找到该类。

Resharper对于与文件名不匹配的类有一个内置错误…

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

所以,最终,我会说,大多数时候,是的,但也有一些需要注意的地方。与任何东西一样,它从来都不是黑白