单个文件中的小部件与 Flutter 中的多个文件

Widgets in single file vs multiple files in Flutter

我想知道在 Flutter 中组织小部件的最佳实践是什么。让我们想象一下,我正在编写一些更大的小部件,例如应用程序中的侧边栏。这个小部件由几个较小的小部件(如标题、一些问候语、用户数据、菜单按钮列表等)组成,我知道这些小部件不会在其他小部件中重复使用。现在我的问题是——是否应该将它们全部保存在同一个文件中(小部件或构建这些小部件的方法),因为它们的上下文相同,或者我应该将它们分成大量的小文件以便为它们编写测试更容易?

据我所知,拥有单独的文件不会带来任何 testing-related 优势。无论如何,Flutter 单元测试通常都写在一个单独的目录中。为小部件使用单独的文件对于 可读性 re-use(正如您提到的)而不是测试很有用。

我个人尝试每个文件有一个 public 小部件,并将复杂的小部件分解为较小的私有 classes (),它们位于同一文件中。如果一个小部件可以重复使用,或者如果它复杂到足以使文件不可读,我将其声明为 public class 在单独的文件中。

此外:您的代码库增长得越多,您可能会发现使用目录(而不是文件)将在同一“上下文”中使用的小部件组合在一起的方法越有用。