한빛미디어의 플러터 인 액션을 읽다가 아래와 같은 글을 봤다.
1.
변경할 수 없는 위젯 인스턴스는 성능이 좋으므로 가능하면 const를 사용하는 것이 좋다. (이 문장이 const를 생략하라는 건지 마라는 건지 애매하게 하는데, 결론은 생략하라는 것이다.)
플러터는 new, const 키워드를 둘 다 사용하지 않으면 프레임워크가 가능한 const로 위젯을 추론하므로 크게 신경 쓰지 않아도 된다.
따라서 어떤 위젯이 상수고 어떤 위젯이 아닌지 지정할 필요가 없다.
플러터가 알아서 처리하기 때문이다.
다트 2.3부터 이 기능은 모든 다트 환경에서도 지원한다.
2.
위젯은 대부분 const 생성자를 갖는다.
3.
플러터에서 위젯을 만들 때 new와 const 키워드는 생략하는 것이 좋다.
인터넷 강의를 들으며 const를 권장하길래 const를 붙여왔었는데..
그리고 vscode에서 파란줄의 경고가 뜨니 const를 붙여줬었다.
* dart 문서 참고
효과적인 Dart: 사용법
언어 기능을 사용하여 유지 관리 가능한 코드를 작성하기 위한 가이드라인.
dart-ko.dev
문서에서는 아래와 같은 상황에서 const 키워드는 암묵적이므로, 작성할 필요가 없으며 그렇게 해서도 안된다고 한다.
- 상수 컬렉션 리터럴
- 상수 생성자 호출
- 메타데이터 어노테이션
- 상수 변수 선언을 위한 initializer
- switch case 표현식 - case의 바디가 아니라 case와 : 사이 부분 입니다.
const를 생략하면 알아서 const로 추론한다고 하니
const를 넣는 번거로움, 코드의 깔끔함을 포기하며 사용할 필요가 없을 것 같다.
* vscode에서 const 경고 없애는 법
analysis_options.yaml에 아래와 같이 넣어준다.
prefer_const_constructors: false
prefer_const_literals_to_create_immutables: false
prefer_const_constructors_in_immutables: false
'Skills > Flutter, Dart' 카테고리의 다른 글
Flutter Web build, Flutter apk build (2) | 2024.10.24 |
---|---|
app bar color style (amber, cyan) (0) | 2024.03.21 |
[Flutter] Provider 사용하기 (0) | 2024.03.07 |
[Dart] 3.0 업데이트 문법 (1) | 2024.02.05 |
[Flutter] Plugin [id: 'com.android.application'] was not found in any of the following sources: (0) | 2024.01.16 |