99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Dart 名稱

2018-09-28 18:39 更新

名稱

命名時(shí)應(yīng)該采取駝峰大小寫形式。

類、枚舉以及自定義類型應(yīng)該將每個(gè)單詞的首字母大寫(包括第一個(gè)詞),并且不能使用分隔符。

// good
class SliderMenu {
  // ...
}

class HttpRequest {
  // ...
}

typedef num Adder(num x, num y);

最好使用 lowerCamelCase 的形式為常量命名。

一般使用 lowerCamelCase 的形式為常量命名,枚舉類型中的值也應(yīng)該采用這種形式。

如果已有的代碼中采用全大寫的方式為常量命名,那么你可以打開大寫鎖定以保持代碼的一致性。

// good
const pi = 3.14;
const defaultTimeout = 1000;
final urlScheme = new RegExp('^([a-z]+):');

class Dice {
  static final numberGenerator = new Random();
}
// bad
const PI = 3.14;
const kDefaultTimeout = 1000;
final URL_SCHEME = new RegExp('^([a-z]+):');

class Dice {
  static final NUMBER_GENERATOR = new Random();
}

變動(dòng):在以前的代碼中我們建議常量命名使用全大寫。由于現(xiàn)在 const 從 final 中分離出來了,所以我們更改了命名的建議。當(dāng)然,也有人希望枚舉采用全大寫的形式,但是我們希望以本指南當(dāng)前的狀況為準(zhǔn)。

對(duì)于其他的標(biāo)識(shí)符,應(yīng)該使用 lowerCamelCase 的形式命名。

類的成員、全局定義、變量、參數(shù)以及命名的參數(shù)都應(yīng)該將除了第一個(gè)單詞以外的詞語(yǔ)大寫,并且不能使用分隔符。

//good
var item;

HttpRequest httpRequest;

align(clearItems) {
  // ...
}

對(duì)于在元數(shù)據(jù)注解中使用的類,應(yīng)該采用 UpperCamelCase 的形式命名。

如果注解不需要任何參數(shù),你可能希望為其創(chuàng)建一個(gè) lowerCamelCase 形式的常量。

// good 
@Foo(anArg)
class A { ... }

@Foo()
class B { ... }

@foo
class C { ... }

對(duì)于庫(kù)以及源文件,應(yīng)該采用 lowercase_with_underscores 的形式命名。

有些文件系統(tǒng)是不區(qū)分大小寫的,所以很多項(xiàng)目要求文件名應(yīng)該全部采用小寫的形式。這種情況下使用下劃線將文件名中的單詞分隔開,這樣就可以使文件名依舊具有可讀性。使用下劃線作為分隔符的名稱依舊是有效的 Dart 標(biāo)識(shí)符,如果以后 Dart 增添了對(duì)符號(hào)引用的支持,那么該特性將會(huì)非常有用。

好的例子:

  • slider_menu.dart
  • file_system.dart
  • library peg_parser

壞的例子:

  • SliderMenu.dart
  • filesystem.dart
  • library peg-parser

聲明庫(kù)的前綴的時(shí)候應(yīng)該采取 lowercase_with_underscores 的形式。

// good
import 'dart:math' as math;
import 'dart:json' as json;
import 'package:js/js.dart' as js;
import 'package:javascript_utils/javascript_utils.dart' as js_utils;
// bad
import 'dart:math' as Math;
import 'dart:json' as JSON;
import 'package:js/js.dart' as JS;
import 'package:javascript_utils/javascript_utils.dart' as jsUtils;

庫(kù)名稱的前面應(yīng)該加上包名并且用 . 來分隔路徑。

本指南將會(huì)幫助你避免因?yàn)閮蓚€(gè)庫(kù)有相同名稱而產(chǎn)生的警告。以下使我們推薦的一些規(guī)則:

  • 所有的庫(kù)名稱之前都加上包名作為前綴。
  • 入口庫(kù)的名稱應(yīng)當(dāng)和包名一致。
  • 對(duì)于包中的其他庫(kù),在包名后使用 . 來分隔庫(kù)所對(duì)應(yīng)的 Dart 文件所在路徑。如果是 lib 下的庫(kù),名稱中不用加入 lib。

舉個(gè)例子,如果包名是 my_package。下面是該包中其他庫(kù)文件的名稱:

// good 
// In lib/my_package.dart
library my_package;

// In lib/other.dart
library my_package.other;

// In lib/foo/bar.dart
library my_package.foo.bar;

// In example/foo/bar.dart
library my_package.example.foo.bar;

// In lib/src/private.dart
library my_package.src.private;

對(duì)于超過兩個(gè)字母的首字母縮略詞以及縮寫詞,應(yīng)該大寫。

大寫首字母縮略詞可能有點(diǎn)難以閱讀,并且當(dāng)該詞由相鄰的多個(gè)單詞構(gòu)成時(shí)可能會(huì)導(dǎo)致歧義。像 HTTPSFTPConnection 這樣的名稱,你無法判斷它究竟是 HTTPS FTP 連接還是 HTTP SFTP 連接。

為了避免出現(xiàn)這種情況,首字母縮略詞以及縮寫詞還是像常規(guī)詞語(yǔ)那樣書寫,如果只有兩個(gè)字母的話,可以按照個(gè)人喜好命名。(兩個(gè)字母的縮寫詞,像 ID 以及 Mr. 也可以想常規(guī)詞語(yǔ)一樣書寫)

// good
HttpConnection
uiHandler
IOStream
HttpRequest
Id
id
Pt
DB
// bad
HTTPConnection
UiHandler
IoStream
HTTPRequest
ID
PT
Db
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)