轻松组织了我的 Flutter 项目代码!

857 阅读2分钟

1.webp

日常开发Flutter项目过程中,我一直都在寻找一种方法来组织我的代码。维护多个项目从来不容易,代码越干净,维护起来就越容易。

这是我在所有项目中使用的结构,这意味着从一个项目跳到另一个项目很容易,我不必去挖掘东西在哪里。与我一起工作的团队也习惯了这种结构,这有助于最大限度地减少我们的生产,从而在几天内制作应用程序。

2.webp

让我们进一步讨论结构:

Screen:这是应用程序的所有屏幕通常所在的文件夹。正如屏幕截图上看到的,每个屏幕都有自己的文件夹。在这个特定的示例中,应用程序有一个主屏幕,它使用底部导航栏和4个主要屏幕(战争、新闻、major_orders和游戏)。我稍后会详细讨论这部分。

Widgets:这是应用程序的所有可重用小部件通常所在的文件夹。在这个文件夹中,我保存了像我的custom_scaffold和所有“回收器”或列表项小部件这样的文件。

Services:这基本上是我制作的应用程序中使用的所有外部服务,也称为我的DIO文件夹。这里的类通常包括连接到向应用程序提供数据的REST API。

Models:在服务文件夹之后,我总是将我的模型(对象类)保存在一个名为模型的单独文件夹中。对于过去使用Flex或AIR的人来说,这曾经是我的ValueObjects文件夹。字典术语的模型示例:

class TermVO {  
    int? id;  
    String? title;  
    String? description;  
    String? language;  
  
  
    TermVO({this.id, this.title, this.description, this.language});  
  
    TermVO.fromJson(Map<String, dynamic> json) {  
        id = json['id'];  
        title = json['title'];  
        description = json['description'];  
        language = json['language'];  
    }
}

Utils:此文件夹是外部API或本地库的所有“助手”文件的所在地。在这里,我将保留像Firebase助手类、OneSignal助手类甚至我自己的StringHelper类这样的东西,它包括在我们的项目中格式化字符串的函数。

Styles:这很简单,因为它包括应用程序的主题和样式。

Common. dart:这是一个文件,我们将其用作应用程序中使用的所有内容的主要“导入”。这样您只需在文件中导入一个文件,这也有助于快速重构、更改或添加库。

3.webp

有了这种结构,你甚至可以让大项目组织得很好,让你的生活更轻松。