> Flutter SDK 版本
日常统一基于 stable 分支开发,有新版本了及时更新到最新版本。如果遇到一些 SDK 自身的 Bug 且官方已经在其它分支中完成了修复,可以通过运行 flutter channel *** 切换。然后在适当的时候再切换回到 stable 分支。
> 项目结构规范

项目的结构主体就是新建 Flutter 项目时生成的,在 assets 和 lib 下面增加了细分目录。 文件夹通常是小写单词,小驼峰法使用较少,不推荐使用下划线连接法。
- assets
- animations 动画素材
- fonts 自定义字体
- images 切图
- svgs svg 素材
项目中需要的资源文件统一按不同类别放在项目根目录 assets 里。对于图片类型的资源,放进来之前先进行一下保质压缩。如果是从蓝湖下载的切图,蓝湖本身自带图片压缩功能。如果是其它来源的图片,可以使用 TinyPNG 工具进行压缩。

- lib
- apis 项目中所有接口,可以通过
showDioLog 变量来控制是否在控制台显示接口相关 log 信息
- blocs 状态管理。项目中也在使用 Provider
- Event 使用动词开头,例如 Start, Fetch, Login
- State 使用形容词或名词,例如 Loading, Initial
- 启动事件统一命名为 Init
- models 数据 model 类和通过命令(
flutter pub run build_runner build --delete-conflicting-outputs)生成的 *.g.dart 文件
- native 和原生调用相关
- screens 对应 App 中实际页面
- selection 文本选择相关功能的自定义类
- widgets 公用的和重改的 widget 组件
- misc 其它杂项
> 命名规范
- 小驼峰法:包名、函数名,变量名、参数名
- 大驼峰法:类名称,如 MainPage
- 源文件名:小写英文加上下划线组成,如 app_bar.dart
- 一般情况下,类名是源文件名的大驼峰写法,如源文件 app_bar.dart,类名 AppBar;源文件 bottom_app_bar,类名 BottomAppBar
- 不使用前缀字母,如不推荐使用 mList,可以用 list,或者更加详细的命名,如 bookList
- assets 目录下的资源文件名,和源文件名命名规则一样
- 枚举类的元素,使用大写英文加下划线,如 YEAR_MONTH_DAY
> 代码规范
主体参考官方的:https://dart.dev/guides/language/effective-dart/style,
其它细项约定如下:
- 安装
EditorConfig for VS Code 插件: 用来统一团队中不同成员间的代码缩进、换行符、字符编码等