【问题标题】:Widgets in single file vs multiple files in Flutter单个文件中的小部件与 Flutter 中的多个文件
【发布时间】:2020-10-10 05:57:18
【问题描述】:

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

【问题讨论】:

    标签: flutter flutter-test


    【解决方案1】:

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

    我个人尝试为每个文件创建一个公共小部件,并将复杂的小部件分解为驻留在同一文件中的更小的私有类 (not methods)。如果一个小部件可以重复使用,或者如果它复杂到使文件不可读,我将它声明为一个单独的文件中的公共类。

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

    【讨论】:

    • 我认为从测试的角度来看它可能更有用,因为我可以单独测试所有小部件。由于它们是私有的,我不能这样做,我只能将它们作为主要的公共小部件的一部分进行测试。
    • 好的。那么也许我应该更明确地表达我的意思:类可测试的主要要求是公开的。不管是在自己的文件中还是在使用它的类的文件中,只要你要测试的类是公开的即可。
    猜你喜欢
    • 1970-01-01
    • 2020-09-16
    • 2019-06-13
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    相关资源
    最近更新 更多