flutter 代码编写建议
视频
前言
原文 https://ducafecat.com/blog/flutter-development-coding-experience-recommended
本文将会描述 Dart 语言编写中的技巧,这将有利于你的开发效率和代码健壮。
如果你想系统学习 Flutter 开发,请关注 https://ducafecat.com ,谢谢。
正文
Let’s dive in! 让我们深入了解一下!
不要使用 print 方法在 flutter 中打印任何内容
void main() {
int a =10;
/// 错误
print(a);
}
void main() {
int a =10;
/// 正确
log('$a');
/// 或者
debugPrint('$a');
}
使用 log 或 debugPrint 方法在 flutter 中打印任何内容
不要使用三元运算符来比较空值。
void main() {
String? name;
/// 错误
String nameCopy=name==null?'Ankit':name;
debugPrint(nameCopy);
}
void main() {
String? name;
/// 正确
String nameCopy=name ?? 'Ankit';
debugPrint(nameCopy);
}
只需使用 null 感知运算符来处理变量是否为 null。
如果该变量默认已经具有 null 值,则不要分配 null。
void main() {
/// 错误
var name = user == null ? null : user.name;
debugPrint(name);
}
void main() {
/// 正确
var name = user?.name;
debugPrint(name);
}
只需使用?运算符为已经为空的变量分配默认值。
当你想将一个数组数据添加到另一个数组时,不要使用 addAll 方法。
void main() {
List<int> mainList = [4, 5, 6];
List<int> secondList = [1, 2];
/// 错误
secondList.addAll(mainList);
}
void main() {
List<int> mainList = [4, 5, 6];
List<int> secondList = [1, 2];
/// 正确
secondList = [...secondList,...mainList];
debugPrint('$secondList');
}
使用 Spread 运算符在列表中添加数据。
如果您知道变量的数据类型,请不要使用 var 关键字
void main() {
/// 错误
var age = 25;
const radius = 20.4;
const list = ['A', 'B', 'C'];
}
void main() {
/// 正确
int age = 25;
const double radius = 20.4;
const List<String> list = ['A', 'B', 'C'];
}
如果您知道要使用的值,请使用 data-type 而不是 decalring var。
当你想第一次初始化列表时,不要使用for循环来创建数据。
void main() {
/// 错误
List<int> data = [];
for (int i = 0; i < 100; i++) {
data.add(i);
}
}
void main() {
/// 正确
List<int> data = [];
data = List.generate(100, (index) => index);
}
第一次使用List类的generate方法初始化list。
不要使用动态类型返回任何方法或函数。
/// 错误
dynamic getName(){
return "Ankit Tiwari";
}
/// 错误
getName(){
return "Ankit Tiwari";
}
/// 正确
String getName(){
return "Ankit Tiwari";
}
如果您知道方法的返回类型,请使用数据类型;
如果您知道变量的返回类型,请不要使用 var 关键字
void main() {
/// 错误
var message = 'Hi';
}
void main() {
/// 正确
String message = 'Hi';
}
如果您知道变量的返回类型,请使用数据类型;
不要检查 bool 值是否为 true,默认情况下它始终检查 true。
void main() {
bool isCheck = true;
/// 错误
if (isCheck == true) {}
}
void main() {
bool isCheck = true;
/// 正确
if (isCheck) {}
}
直接检查……!
不要使用 forEch 循环。
void main() {
List<int> ids = [];
/// 错误
ids.forEach((element) {});
}
void main() {
List<int> ids = [];
/// 正确
for (var element in ids) {}
}
使用 for in 循环它更具可读性和方便性。
不要使用“+”运算符来连接字符串。
void main() {
String m1 = "Hello";
String m2 = "How are you?";
String m3 = "Ankit!";
/// 错误
String message = m1 + m2 + m3;
}
void main() {
String m1 = "Hello";
String m2 = "How are you?";
String m3 = "Ankit!";
/// 正确
String message = '$m1 $m2 $m3';
}
使用 $ 符号而不是使用“+”运算符。
不要使用 length 来检查数组是否为空。
void main() {
List<int> id = [];
/// 错误
if (id.length == 0) {}
}
void main() {
List<int> id = [];
/// 正确
if (id.isEmpty) {}
}
使用 isEmpty 方法而不是检查 lengt==0。
小结
以上讲解了 Dart 语言编码的小技巧,希望对你在日常开发工作中有帮助。
感谢阅读本文
如果有什么建议,请在评论中让我知道。我很乐意改进。
flutter 学习路径
- Flutter 优秀插件推荐 https://flutter.ducafecat.com/
- Flutter 基础篇1 - Dart 语言学习 https://ducafecat.com/course/dart-learn
- Flutter 基础篇2 - 快速上手
https://ducafecat.com/course/flutter-quickstart-learn - Flutter 实战1 - Getx Woo 电商APP
https://ducafecat.com/course/flutter-woo - Flutter 实战2 - 上架指南 Apple Store、Google Play https://ducafecat.com/course/flutter-upload-apple-google
- Flutter 基础篇3 - 仿微信朋友圈 https://ducafecat.com/course/flutter-wechat
- Flutter 实战3 - 腾讯 tim 即时通讯开发 https://ducafecat.com/course/flutter-tim
© 猫哥 ducafecat.com
end