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

woj*_*902 4 flutter flutter-test

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

Gio*_*gio 7

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

我个人尝试每个文件有一个公共小部件,并将复杂的小部件分解为驻留在同一文件中的更小的私有类(而不是方法)。如果一个小部件可以重用,或者它足够复杂以至于使文件不可读,我会在单独的文件中将其声明为公共类。

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