Effective Dart中一些中值得注意的条目

整理了一些我觉得比较值值得注意的Dart开发规范。
整理自http://dart.goodev.org/guides/language/effective-dart
设计API的部分没有整理,如果需要提供API可以参考上述链接。

A. 代码风格

标识符

  • ★要 使用 lowercase_with_underscores 风格来命名库和文件名名字。

  • 推荐 使用 lowerCamelCase 来命名常量。

  • 要 把超过两个字母的缩略词和首字母缩略词当做一般单词来对待。

顺序

  • 要 把 “dart:” 导入语句放到其他导入语句之前。

  • 要 把 “package:” 导入语句放到相对导入语句之前。

  • 推荐 把”第三方” “package:” 导入语句放到其他语句之前。

  • 要 把导出(export)语句放到所有导入语句之后的部分。

  • 要 按照字母顺序来排序每个部分中的语句。

格式化

  • 避免 每行长度超过 80 字符。
  • ★ 要 在所有的控制结构上使用大括号。

  • 要 使用 dartfmt 来格式化您的代码

  • 不要 使用 tabs 。

B. 注释

注释

  • ★不要 使用块注释作为解释说明。

  • ★要 使用 /// 文档注释来注释成员和类型。

  • 推荐 为公开发布的 API 编写注释文档。

  • 考虑 为私有 API 编写注释文档。

  • 要 把第一个语句定义为一个段落。

C. 最佳实践

Strings

  • ★要 使用相邻的字符串字面量定义来链接字符串。
  • 推荐 使用插值的形式来组合字符串和值。

  • 避免 在字符串插值中使用多余的大括号。

集合

  • 要 尽可能的使用集合字面量来定义集合。

  • 不要 使用 .length 来判断集合是否为空。

  • 考虑 使用高阶(higher-order)函数来转换集合数据。

  • ★避免 在 Iterable.forEach() 中使用函数声明形式。

方法

  • 要 用方法声明的形式来给方法起个名字。

  • 不要 使用 lambda 表达式来替代 tear-off。

成员

  • ★不要 创建没必要的 getter 和 setter。

  • 推荐 使用 final 关键字来限定只读属性。

  • 考虑 用 => 来实现只有一个单一返回语句的函数。
  • 不要 使用 this. ,除非遇到了变量冲突的情况。
  • 要 尽可能的在定义变量的时候初始化其值。

构造函数

  • 要 尽可能的使用初始化形式。

  • 不要 在初始化形式上定义类型。

  • 要 用 ; 来替代空函数体的构造函数 {}。

  • 要 把 super() 调用放到构造函数初始化列表之后调用。

异步

  • 推荐 使用 async/await 而不是直接使用底层的特性。

  • 不要 在没有有用效果的情况下使用 async 。

你可能感兴趣的:(Effective Dart中一些中值得注意的条目)