在过去的几年里,咱们已经编写了大量的Dart代码,而且积累了如何开发出高效Dart代码经验。咱们正在与您分享这一点,所以您也能够编写一致,强大,快速的代码。有两个整体主题:git
始终如一。当谈到格式和语句时,关于哪一个更好的论点是主观的,无解的。咱们所知道的是,保持一致是客观有益的。若是两段代码看起来不一样,那应该是由于它们以某种有意义的方式不一样。当一些代码突出并引发你的注意时,它应该这样作是有用的。github
简洁的。 Dart的设计很是熟悉,所以它继承了许多与C,Java,JavaScript和其余语言相同的语句和表达式。但咱们建立了Dart,由于这些语言提供了不少改进的空间。咱们添加了一系列功能,从字符串插值到初始化形式,以帮助您更简单,更轻松地表达您的意图。 若是有多种说法,你一般应该选择最简洁的方法。ide
咱们将指导方针分红几个单独的页面以便于理解:函数
每一个指引分为一些章节。每一个章节包含一系列指引。每一个指引都以如下一个词开头:布局
DO 准则描述了应始终遵循的作法。你没有理由偏离它们。ui
DON'T 不该该作的事。但愿咱们没有其余语言那么多,由于咱们的历史包袱较少。设计
PREFER 您应遵循的作法。继承
AVOID 是“PREFER”的双重指引:你不该该作的事情,但在极少数状况下可能有充分理由去作。ip
CONSIDER 凡事没必要墨守成规,具体案例具体分析。开发
为了保持简洁,咱们使用一些术语来指代不一样的Dart结构。
library member 库成员是顶级字段,getter,setter或函数。基本上,顶级的任何东西都不是一种类型。
class member 类成员是在类中声明的构造函数,字段,getter,setter,函数或运算符。类成员能够是实例或静态,抽象或具体。
member 库成员或类成员。
variable 变量是指顶级变量,参数和局部变量。它不包括静态或实例字段。
type 类型是任何命名的类型声明:class,typedef或enum。
property 属性是顶级变量,getter(在类内或顶层,实例或静态),setter(相同)或字段(实例或静态)。大体上任何“字段式”命名构造。