代码格式化

每个人都有自己喜欢的代码样式。但是根据我们的经验,下面这些做法可以提高团队的开发效率:

  • 团队使用单一,共享的代码样式。

  • 通过自动格式化代码来保证统一的代码样式。

如果没有统一的代码样式,当进行代码审查的时候,可能会为了一些样式的问题而进行争论从而浪费时间。代码审查最好把时间花在代码的行为上,而不是代码的样式上。

在 VS Code 中自动格式化代码

在 VS Code 中安装 Flutter 扩展(见章节 编辑工具设定)来进行代码的自动格式化。

格式化当前窗口中代码的方法是先在代码窗口中单击右键,然后选择 Format Document 选项即可。也可以在 VS Code 的偏好设置里面增加快捷键,然后使用快捷键操作。

editor.formatOnSave 设置成 true,可以在保存文件的时候自动进行代码格式化。

Automatically formatting code in Android Studio and IntelliJ

在 Android Studio / IntelliJ 中安装 Dart 插件(见章节 编辑工具设定) 来进行代码的自动格式化。在当前代码窗口中格式化代码的方法是,在 Windows 和 Linux 系统里使用 Ctrl+Alt+L,在 Mac 系统里使用 Cmd+Alt+L。 Android Studio 和 IntelliJ 为 Flutter 页面提供了一个选项,即“在保存的时候格式化代码”—— Format code on save,要开启这个,可以在 Windows 和 Linux 下选择设置、在 Mac 下选择偏好设置。这样在每次保存代码的时候就会自动格式化当前文件。

使用 dart 命令自动格式化代码

我们也可以在命令行界面(CLI)中使用 dart format 命令,进行代码的自动格式化。

$ dart format path1 path2 ...

末尾处添加逗号

Flutter 代码经常会构建一定深度的树形数据结构,如在 build 方法中。为了有更好的自动格式化效果,我们推荐在末尾处添加逗号,尽管也可以不这样做。规则也比较简单:总是在函数、普通方法、构造方法参数列表的末尾处添加逗号。这样做会使格式化工具自动插入一些换行符,使代码更具有 Flutter 风格。

自动格式化的时候,末尾处 加入 逗号的例子:

末尾处有逗号进行代码自动格式化的情况 (Automatically formatted code with trailing commas)

同样的代码在进行自动格式化的时候,末尾处没有逗号的例子:

末尾处没有逗号进行代码自动格式化的情况 (Automatically formatted code without trailing commas)