在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更漂亮,有标志选项。
一般来说,如果你经过六或七级压痕,那就是重构的时候了。这样,您可以更轻松地覆盖部分内容以进行变体处理,并使人们更轻松地阅读和维护代码以了解您的意图。
在您的特定代码中,我会将ListView.builder
作为您班级中的单独方法。有IDE操作来帮助这种重构。
此外,在您的代码中,() => {}
是一个返回空映射的函数。你应该把它解决到() {}
。