好的代码有一个非常重要的特点就是拥有好的风格。一致的命名、一致的顺序、以及一致的格式让代码看起来是一样的。
Dart代码规范
标识符
在 Dart 中标识符有三种类型。
- UpperCamelCase 每个单词的首字母都大写,包含第一个单词。
- lowerCamelCase 除了第一个字母始终是小写(即使是缩略词),每个单词的首字母都大写。
- lowercase_with_underscores 只是用小写字母单词,即使是缩略词,并且单词之间使用 _ 连接
UpperCamelCase使用场景
Classes(类名)、 enums(枚举类型)、 typedefs(类型定义)、以及 type parameters(类型参数)应该把每个单词的首字母都大写(包含第一个单词),不使用分隔符。
扩展
1 | class SliderMenu { ... } |
lowercase_with_underscores使用场景
- 库的名字、package的名字、文件夹名字、文件名、源文件名
1 |
|
lowerCamelCase使用场景
类成员、顶级定义、变量、参数以及命名参数等 除了第一个单词,每个单词首字母都应大写,并且不使用分隔符。
常量
1 |
|
不要使用前缀字母
在编译器无法帮助你了解自己代码的时, 匈牙利命名法 和其他方案出现在了 BCPL ,但是因为 Dart 可以提示你声明的类型,范围,可变性和其他属性,所以没有理由在标识符名称中对这些属性进行编码。
1 | // good |
顺序
为了使文件前面部分保持整洁,我们规定了关键字出现顺序的规则。每个“部分”应该使用空行分割。
- 要把”dart:”导入语句放到其他导入语句之前
- 要把”package:”导入语句放到项目相关导入语句之前
- 要把导出(export)语句作为一个单独的部分放到所有导入语句之后
- 按照字母顺序排序
1 | import 'dart:async'; |
代码格式化
格式化要严格要求,不然不同的提交会产生不必要的冲突。可以通过IDE的插件配置提交前格式化,平时写完代码也可手动格式化
单行宽度
以前由于屏幕小,一般要求宽度不能超过80.这里只要团队内统一一个值,大家根据实际情况调整即可。建议设置成140
流控制结构使用花括号
统一规范,if后面必须使用花括号。