sized_box_for_whitespace 린트 규칙: 여백은 SizedBox로 넣기

sized_box_for_whitespace 린트 규칙: 여백은 SizedBox로 넣기

Flutter 레이아웃에서 위젯 사이의 여백(whitespace)을 넣을 때, 무거운 Container보다는 SizedBox를 쓰는 게 더 가벼워요. 이 린트 규칙은 그런 여백을 SizedBox로 넣도록 안내하는 규칙이에요.

출처: sized_box_for_whitespace

본문

설명

레이아웃에 여백을 넣을 때는 SizedBox를 사용해요.

ContainerSizedBox보다 무거운 위젯이에요. 게다가 보너스로 SizedBoxconst 생성자도 제공하고 있어서 컴파일 타임 상수로 만들 수 있답니다.

BAD:

Widget buildRow() {
  return Row(
    children: <Widget>[
      const MyLogo(),
      Container(width: 4),
      const Expanded(
        child: Text('...'),
      ),
    ],
  );
}

GOOD:

Widget buildRow() {
  return Row(
    children: const <Widget>[
      MyLogo(),
      SizedBox(width: 4),
      Expanded(
        child: Text('...'),
      ),
    ],
  );
}

단순히 width: 4만 필요할 때는 Container(width: 4)보다 SizedBox(width: 4)가 더 간결하고 가벼워요.

활성화 방법

sized_box_for_whitespace 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.

linter:
  rules:
    - sized_box_for_whitespace

대신 YAML 맵 문법으로 린트 규칙을 설정하고 있다면, linter > rules 아래에 sized_box_for_whitespace: true를 추가하면 돼요.

linter:
  rules:
    sized_box_for_whitespace: true

더 알아보기