[译]Effective Dart

在过去的几年里,咱们已经编写了大量的Dart代码,而且积累了如何开发出高效Dart代码经验。咱们正在与您分享这一点,所以您也能够编写一致,强大,快速的代码。有两个整体主题:git

  1. 始终如一。当谈到格式和语句时,关于哪一个更好的论点是主观的,无解的。咱们所知道的是,保持一致是客观有益的。若是两段代码看起来不一样,那应该是由于它们以某种有意义的方式不一样。当一些代码突出并引发你的注意时,它应该这样作是有用的。github

  2. 简洁的。 Dart的设计很是熟悉,所以它继承了许多与C,Java,JavaScript和其余语言相同的语句和表达式。但咱们建立了Dart,由于这些语言提供了不少改进的空间。咱们添加了一系列功能,从字符串插值到初始化形式,以帮助您更简单,更轻松地表达您的意图。 若是有多种说法,你一般应该选择最简洁的方法。ide

指引

咱们将指导方针分红几个单独的页面以便于理解:函数

  • 样式 : 定义了布局和组织代码的规则。dartfmt不为您处理的部分。样式指导指定了标识符的格式:camelCase,using_underscores等。
  • 文档 : 告诉您须要了解的内容。文档注释和代码注释。
  • 用法 : 将教您如何充分利用语言特性来实现功能。
  • 设计 : 这是最开放的指引,但倒是范围最广的。它涵盖了一致性,可用API的设计。

如何阅读

每一个指引分为一些章节。每一个章节包含一系列指引。每一个指引都以如下一个词开头:布局

  • 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(相同)或字段(实例或静态)。大体上任何“字段式”命名构造。


引用

Effective Dart 原文link

相关文章
相关标签/搜索