🙆
クラスかメソッドか(separate widgetsとhelper methods)
リファクタリングをしていて、クラスに分けるかメソッドに分けるか悩むことがあったのですが、基本的にクラスで切り出した方がメリットがあるようです!
自分にとって勉強になったのは,メソッドで分けることを【helper methods】と呼び
【helper methodsの例】
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
for(final obj in myObjs)
Dismissible(
key: ValueKey(obje.id),
child: ...
)
],
);
↓↓ Dismissibleの塊を、methodで切り出す!
(この時は、「_build ◯○」という命名にするっぽい)
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
for(final obj in myObjs)
_buildDismissible(obj)
],
);
}
Widget _buildDismissible(MyObj obj){
return Dismissible(
key: ValueKey(obje.id),
child: ...
);
}
}
クラスで分けることを【sepatate widgets】と呼ぶことでした。
【sepatate widgetsの例】
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
for(final obj in myObjs)
Dismissible(
key: ValueKey(obje.id),
child: ...
)
],
);
↓↓ Dismissibleの塊を、classで切り出す!
(この時は、「_build ◯○」という命名にしなくていいっぽい)
class Example extends StatelessWidget {
}
記事などを読んでいて「ヘルパーメソッド」という単語が出てきた時にいつも「?」って感じだったのですが
「メソッドで切り出したのね」
と頭の中で変換できるようになったのが何よりの収穫でした!
Discussion