一个 Flutter 开发人员应该在一个文件中放置多少个无状态小部件类?



我目前正在开发一个颤振应用程序。我有一个带有大小部件树的文件。为了更容易理解、阅读和维护,我想"裁剪"小部件树。

首先,我所做的是创建多个函数,这些函数代表了树的更大部分,例如_createFancyImage()_createFancyContainer。经过一些研究,我发现这样的设计有一些缺点(见:https://github.com/flutter/flutter/issues/19269(。因此,我决定改为创建StatelessWidget。由于小部件树的巨大尺寸,我将其分解为 3 个逻辑StatelessWidget。现在我可以使用FancyImage()FancyContainer(),它们分别表示一个独立的小部件。

作为初学者,我不确定是否应该将这些StatelessWidget类保留在同一文件中。或者,我可以创建独立的文件。有一件事要澄清:我不是在其他地方使用那些花哨的小部件。这些是这个大小部件树所独有的,否则我可以将它们外包到一个新文件夹中,例如"common_widgets"或"组件"。

不幸的是,我在Dart和Flutter Repo风格指南和互联网上都找不到一些东西。

我感谢每一个建议。

您可以在单个文件中添加任意数量的类。这取决于开发人员的心态。

但是,假设您的一个类可以被其他类或包重用,那么您应该将其添加到另一个文件中以便更好地分离。

我可以赞成你的一种方法是你的每个文件应该最多有一个有状态的小部件,并且你想要的无状态小部件的相应小部件将是一个更好的方案。

在某些情况下,如果您觉得在单个文件中添加了足够多的无状态小部件,则应根据您的选择将其分隔到另一个文件中。

我更喜欢保留一个与文件名同名的公共小部件和剩余的私有小部件。

来到你的问题是单个文件中有多少个小部件?

它实际上取决于没有这样的规则来限制文件的限制。不同的作者有不同的偏好。我更喜欢尝试保留 5-6 个类(小部件(和 每个都有5-6个功能。

  • 尝试使文件单一负责,即(5-6 个类一起负责单个功能(。不要让神类以后有不相关的问题在一起会很痛苦(哈哈(

  • 如果是常见的小部件,请将它们分开以尊重 DRY 原则(不要重复自己(

  • 如果小部件
  • 进一步分为 3-4 个小部件,或者它的孩子小部件更改取决于休息响应,请保持分离以进行良好的练习

  • 额外提示:尝试使用代码折叠快捷方式来推动更多

最新更新