• 构造函数能用 const 就用 const

    • 必填参数放在 可选参数 { } 里,并且用 @required 标记

    • 非空属性加上断言,示例:

      1. const Checkbox({
      2. Key key,
      3. @required this.value,
      4. this.tristate = false,
      5. @required this.onChanged,
      6. this.activeColor,
      7. this.checkColor,
      8. this.materialTapTargetSize,
      9. }) : assert(tristate != null),
      10. assert(tristate || value != null),
      11. super(key: key);
    • 字段都是 final 类型

    • 每个 fieldassert 都要换行

    可选

    • 复写 debugFillProperties() 方法帮助debug时显示信息
    • 实现 Semantics 控件提供给视觉障碍的用户使用