如何在 Dart 中使用格式良好的箭头函数?
How to use well formatted arrow functions in Dart?
在一个 flutter/dart 项目上工作 我目前几乎一直在考虑一种方法来 减少我的代码大小 ,考虑到其中一个方法是使用箭头避免括号的功能。
但是我找不到让它们保持美观的方法,例如如果我使用此代码:
@widget
Widget poscompExams() => StoreConnector<AppState, ViewModel>(
converter: ViewModel.fromStore,
builder: (BuildContext context, ViewModel vm) => Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: vm.poscomp.exams.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Test'),
subtitle: const Text('Inserção das provas em andamento'),
leading: const Icon(Icons.computer),
onTap: () => {}
);
},
),
),
],
);
},
);
如果像这样就更好了:
@widget
Widget poscompExams() =>
StoreConnector<AppState, ViewModel>(
converter: ViewModel.fromStore,
builder: (BuildContext context, ViewModel vm) =>
Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: vm.poscomp.exams.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Test'),
subtitle: const Text('Inserção das provas em andamento'),
leading: const Icon(Icons.computer),
onTap: () => {}
);
},
),
),
],
);
},
);
我研究了一些方法并找到了 dart_style,但它似乎遵循一般相同的格式化模式。
Javascript 上的 prettier 之类的东西会很好,带有标志选项。
一般来说,如果缩进超过六级或七级,就该进行重构了。这将使您更容易为变体覆盖其中的某些部分,并使阅读和维护您的代码的人更容易理解您的意图。
在您的特定代码中,我会在您的 class 中将 ListView.builder
作为单独的方法取出。有 IDE 操作可以帮助进行这种重构。
此外,在您的代码中,() => {}
是一个返回空地图的函数。您应该将其修复为 () {}
.
在一个 flutter/dart 项目上工作 我目前几乎一直在考虑一种方法来 减少我的代码大小 ,考虑到其中一个方法是使用箭头避免括号的功能。
但是我找不到让它们保持美观的方法,例如如果我使用此代码:
@widget
Widget poscompExams() => StoreConnector<AppState, ViewModel>(
converter: ViewModel.fromStore,
builder: (BuildContext context, ViewModel vm) => Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: vm.poscomp.exams.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Test'),
subtitle: const Text('Inserção das provas em andamento'),
leading: const Icon(Icons.computer),
onTap: () => {}
);
},
),
),
],
);
},
);
如果像这样就更好了:
@widget
Widget poscompExams() =>
StoreConnector<AppState, ViewModel>(
converter: ViewModel.fromStore,
builder: (BuildContext context, ViewModel vm) =>
Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: vm.poscomp.exams.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Test'),
subtitle: const Text('Inserção das provas em andamento'),
leading: const Icon(Icons.computer),
onTap: () => {}
);
},
),
),
],
);
},
);
我研究了一些方法并找到了 dart_style,但它似乎遵循一般相同的格式化模式。
Javascript 上的 prettier 之类的东西会很好,带有标志选项。
一般来说,如果缩进超过六级或七级,就该进行重构了。这将使您更容易为变体覆盖其中的某些部分,并使阅读和维护您的代码的人更容易理解您的意图。
在您的特定代码中,我会在您的 class 中将 ListView.builder
作为单独的方法取出。有 IDE 操作可以帮助进行这种重构。
此外,在您的代码中,() => {}
是一个返回空地图的函数。您应该将其修复为 () {}
.