【发布时间】:2020-10-22 17:09:32
【问题描述】:
他们三个基本上都做同样的事情。最佳实践是什么?在什么情况下我应该使用哪种提取方式?标准是什么?
我想这些可能是一些重要的点:
- 可读性
- 性能
- 行数
示例:
提取容器。您更喜欢哪种方式,为什么?
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container();
}
}
1。将容器提取为小部件(+6 行):
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ExtractedAsWidget();
}
}
class ExtractedAsWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container();
}
}
2。将容器提取为方法(+1(在某些情况下为 3)行):
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
return buildContainer();
}
Container buildContainer() => Container();
}
3。将容器提取为变量(+1 行):
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
var container = Container();
return container;
}
}
【问题讨论】:
标签: flutter dart refactoring