dart系列之:dart代码规范实践指南
文章目錄
- 簡(jiǎn)介
- 命名規(guī)則
- import中的順序
- 格式化
- 總結(jié)
簡(jiǎn)介
每種語(yǔ)言都有自己的代碼風(fēng)格,這種代碼風(fēng)格是跟語(yǔ)言特性息息相關(guān)的。如果在編碼的過(guò)程中遵循這種統(tǒng)一的編碼規(guī)則,會(huì)給我們的業(yè)務(wù)帶來(lái)非常多的便利。
同樣的,對(duì)應(yīng)dart而已,也有屬于自己的編碼風(fēng)格,一起來(lái)看看吧。
命名規(guī)則
一般來(lái)說(shuō),這個(gè)世界上有三種命名規(guī)則,分別是UpperCamelCase,lowerCamelCase和lowercase_with_underscores.
UpperCamelCase表示的是駝峰格式,也就是首字母大寫(xiě),其他的字母小寫(xiě)。
而lowerCamelCase也是駝峰格式,不同的是它的第一個(gè)單詞的首字母是小寫(xiě)的。
lowercase_with_underscores則是將單詞用下劃線(xiàn)進(jìn)行連接。
對(duì)于類(lèi),typedef,枚舉這些類(lèi)型,一般都使用的是UpperCamelCase模式:
class ClassRoom {}typedef Predicate<T> = bool Function(T value);對(duì)于類(lèi)的實(shí)例來(lái)說(shuō),使用lowerCamelCase:
const classRoom = ClassRoom();對(duì)于方法名來(lái)說(shuō),也使用lowerCamelCase:
void main() { }之前我們講到了dart 2.7引入的extension,extension也需要使用UpperCamelCase:
extension StringCompare on String { ... }對(duì)于libraries, packages, 目錄和源文件來(lái)說(shuō),使用lowercase_with_underscores,如下所示:
library common_convert.string_convert;import 'lib_one.dart'; import 'lib_two.dart';如果要將import的lib進(jìn)行重命名,則需要使用lowercase_with_underscores,如下所示:
import 'lib_one.dart' as lib_one;對(duì)于某些回調(diào)函數(shù)中的參數(shù),如果并沒(méi)有使用到的話(huà),則可以用_來(lái)代替:
futureOfVoid.then((_) {print('Operation complete.'); });如果是private屬性,則推薦在名字前面加上_,表示它是一個(gè)私有值。
import中的順序
在dart中,我們需要使用到其他的package,一般來(lái)說(shuō)我們?cè)诰幋a過(guò)程中并不會(huì)特別注意到import的順序。
不過(guò)dart對(duì)于import的順序也是有推薦的。
首先 “dart:”,需要放在所有其他的import之前:
import 'dart:html';import 'package:bar/bar.dart';而"package:" 需要放在內(nèi)部項(xiàng)目引用之前:
import 'package:foo/foo.dart';import 'util.dart';如果需要導(dǎo)出的話(huà),export需要和import區(qū)分開(kāi):
import 'src/foo_bar.dart';export 'src/error.dart';然后按照上面提到的順序?qū)唧w的import按字母表的順序進(jìn)行排序。
格式化
對(duì)于dart來(lái)說(shuō),dart語(yǔ)言本身是不識(shí)別空格的,但是對(duì)于人類(lèi)來(lái)說(shuō),需要通過(guò)空格來(lái)格式化代碼,從而達(dá)到可良好閱讀的目的。
為了統(tǒng)一格式,dart提供了dart format命令.
雖然dart format命令為你做了99%的工作,但是還有1%的工作是你需要自己做的 。
比如:一行不超過(guò)80個(gè)字符,所有的流控制語(yǔ)句都用大括號(hào)括起來(lái)等等其他一些要注意的工作。
總結(jié)
以上就是dart中的代碼風(fēng)格總結(jié)。
本文已收錄于 http://www.flydean.com/27-dart-style/
最通俗的解讀,最深刻的干貨,最簡(jiǎn)潔的教程,眾多你不知道的小技巧等你來(lái)發(fā)現(xiàn)!
歡迎關(guān)注我的公眾號(hào):「程序那些事」,懂技術(shù),更懂你!
總結(jié)
以上是生活随笔為你收集整理的dart系列之:dart代码规范实践指南的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dart系列之:你的地盘你做主,使用Ex
- 下一篇: netty系列之:netty对SOCKS