原文
https://itnext.io/fix-your-da...
參考
正文
當我檢查其他專案的時候,有些事情經常困擾著我,那就是我們大多數人不遵守 Dart 語法規則
我知道你可能來自另一種語言背景,但是你現在使用的是 Dart,而 Dart 做的有些不同。
實際上,Dart 文件完美地解釋了一切,但是我們大多數人都懶得閱讀整個文件。所以我決定為我們的懶蟲們寫一個總結。
希望你能從中受益!
資料夾/檔案
lower_snake_caseNOT
FolderName
fileName
file-name
類
UpperCamelCase
函式
lowerCamelCase
變數
lowerCamelCase
extensions 擴充套件
UpperCamelCase
mixins 混合
UpperCamelCase
constants 常量
CAPITALIZE_EVERY_DAMN_LETTER // NO
lowerCamelCase // yes
enums 列舉
enum Name { ENUM, NAME } // WRONG!!
enum Name { enum, name } // RIGHT!!
對於未使用的回撥引數常量名,最好使用 _
__
// IF YOU WON'T USE DON'T MENTION IT
futureOfVoid.then((unusedParameter) => print('Operation complete.'));
futureOfVoid.then((_) => print('Operation complete.'));
更喜歡使用字串模板來組合字串和值
// GOOD BOY
'Hello, $name! You are ${year - birth} years old.';
// BAD BOY
'Hello, ' + name + '! You are ' + (year - birth).toString() + ' y...';
避免使用不必要的 getters
和 setters
// GOOD
class Box {
var contents;
}
// BAD
class Box {
var _contents;
get contents => _contents;
set contents(value) {
_contents = value;
}
}
儘可能的寫上型別定義
add(a,b) => a + b; // DAMN WRONG
int add(int a, int b) => a + b; // HELL YEAH
BUT
final List<String> users = <String>[]; // THAT'S OVERKILL
final List<String> users = []; // GREAT
final users = <String>[]; // WONDERFUL
new
可以不要用了
// I'm old dude
new Container();
// I'm a brand new energetic open-minded sexy young dude
Container();
對不起,如果我有點咄咄逼人,但請立即修復您的程式碼,否則我會找到你。此外,我想如果我遇到新的沉船時間增加更多的提示,所以請小心。
謝謝你的閱讀
© 貓哥