Flutter 开发人员应该在一个文件中放入多少个 Stateless Widget 类?
How many Stateless Widget Classes should a Flutter Developer put in one file?
我目前正在开发一个 flutter 应用程序。我有一个带有大部件树的文件。为了更容易理解、阅读和维护我想 "crop" 小部件树。
首先我做的是创建多个函数,它们代表树的更大部分,例如 _createFancyImage()
或 _createFancyContainer
。经过一些研究,我发现这样的设计有一些缺点(参见:https://github.com/flutter/flutter/issues/19269)。所以我决定改为创建 StatelessWidget
s。由于小部件树的巨大尺寸,我将其分解为 3 个逻辑 StatelessWidget
s。现在我可以使用 FancyImage()
或 FancyContainer()
来代表每个独立的小部件。
作为初学者,我不确定是否应该将这些 StatelessWidget
类 保存在同一个文件中。或者,我可以创建独立的文件。需要澄清的一件事:我没有在其他地方使用那些花哨的小部件。这些对于这个大的小部件树来说是独一无二的,否则我可以将它们外包到一个新文件夹中,例如 "common_widgets" 或 "components"。
不幸的是,我无法在 Dart 和 Flutter Repo 风格指南中或互联网上找到任何内容。
我感谢每一个建议。
您可以在单个文件中添加任意数量的 classes。这取决于开发者的心态。
但是,如果您的 class 中的一个可以被其他 class 或包重复使用,那么您应该将它添加到另一个文件中以便更好地分离。
我可以赞成你的一种方法是你的每个文件应该有最多一个有状态的小部件和你想要的相应小部件的尽可能多的无状态小部件将是一个更好的方案。
仍然在某些情况下,如果您觉得在单个文件中添加了足够多的无状态小部件,您应该根据您的选择将其分离到另一个文件中。
我更愿意保留一个 public 与文件名同名的小部件和剩余的私有小部件。
回答您的问题是单个文件中有多少个小部件?
其实是因为没有这样的规则来限制文件的限制。不同的作者有不同的偏好。我更喜欢尝试保留 5-6 classes(widgets) 和
每个都有5-6个功能。
尝试让一个文件单独负责,即(5-6 class 一起负责单一功能)。别把有不相关的事的神class放在一起以后会痛(哈哈)
如果它是一个普通的小部件,请将它们分开以遵守 DRY 原则(不要重复自己)
如果小部件进一步分为 3-4 个小部件或者它的子小部件更改取决于其余响应保持分离以获得良好实践
额外提示:尝试使用代码折叠快捷方式来推动更多
我目前正在开发一个 flutter 应用程序。我有一个带有大部件树的文件。为了更容易理解、阅读和维护我想 "crop" 小部件树。
首先我做的是创建多个函数,它们代表树的更大部分,例如 _createFancyImage()
或 _createFancyContainer
。经过一些研究,我发现这样的设计有一些缺点(参见:https://github.com/flutter/flutter/issues/19269)。所以我决定改为创建 StatelessWidget
s。由于小部件树的巨大尺寸,我将其分解为 3 个逻辑 StatelessWidget
s。现在我可以使用 FancyImage()
或 FancyContainer()
来代表每个独立的小部件。
作为初学者,我不确定是否应该将这些 StatelessWidget
类 保存在同一个文件中。或者,我可以创建独立的文件。需要澄清的一件事:我没有在其他地方使用那些花哨的小部件。这些对于这个大的小部件树来说是独一无二的,否则我可以将它们外包到一个新文件夹中,例如 "common_widgets" 或 "components"。
不幸的是,我无法在 Dart 和 Flutter Repo 风格指南中或互联网上找到任何内容。
我感谢每一个建议。
您可以在单个文件中添加任意数量的 classes。这取决于开发者的心态。
但是,如果您的 class 中的一个可以被其他 class 或包重复使用,那么您应该将它添加到另一个文件中以便更好地分离。
我可以赞成你的一种方法是你的每个文件应该有最多一个有状态的小部件和你想要的相应小部件的尽可能多的无状态小部件将是一个更好的方案。
仍然在某些情况下,如果您觉得在单个文件中添加了足够多的无状态小部件,您应该根据您的选择将其分离到另一个文件中。
我更愿意保留一个 public 与文件名同名的小部件和剩余的私有小部件。
回答您的问题是单个文件中有多少个小部件?
其实是因为没有这样的规则来限制文件的限制。不同的作者有不同的偏好。我更喜欢尝试保留 5-6 classes(widgets) 和 每个都有5-6个功能。
尝试让一个文件单独负责,即(5-6 class 一起负责单一功能)。别把有不相关的事的神class放在一起以后会痛(哈哈)
如果它是一个普通的小部件,请将它们分开以遵守 DRY 原则(不要重复自己)
如果小部件进一步分为 3-4 个小部件或者它的子小部件更改取决于其余响应保持分离以获得良好实践
额外提示:尝试使用代码折叠快捷方式来推动更多