Flutter - VS Code에서 자동으로 const 붙여주는 기능 설정하기, const를 왜 붙여야할까?

반응형

 

Overview

이 포스팅은 VS Code (Visual Studio Code)를 기준으로 작성되었습니다.

 

코드 작성 시, 파란 밑줄이 뜨며 const 키워드를 붙이라는 경고 문구가 뜰 때가 있다.

이럴 때 파일을 저장하면 자동으로 const 키워드를 붙여주는 설정이 있다.


const를 붙여야 하는 이유는?

코드를 짜다보면 const를 붙이라는 경고를 생각보다 자주 볼 수 있다.

항상 무심코 지나쳤지만 문득 이런 생각이 들 수 있다.

'대체 왜 const 키워드를 붙여줘야 하는 거지?'

 

우선 const가 무엇인지부터 살펴보자.

변수 const는 컴파일 시간 상수이며 객체의 상태는 컴파일 시간에 결정될 수 있다.

그렇기 때문에 const를 사용하여 객체를 생성하게 되면

해당 객체는 변경할 수 없는 불변 객체(Immutable Objects)로 취급된다.

즉, 런타임이 아닌 코드가 컴파일 될 때 이미 알려진 값으로 계산하며

한 번만 계산하기 때문에 프로그램 실행 중(런타임)에 값을 변경할 수 없다.

 

const 키워드를 붙이는 이유는?

대부분의 경우 코드 최적화를 통해 성능 향상과 메모리 최적화를 하기 위함이다.

  • 성능 최적화
    • 컴파일 시간 상수로 취급되기 때문에 런타임에서 계산할 필요가 없기 때문에 실행 속도가 향상된다.
      (동일한 표현식을 여러 번 사용할 때에 컴파일 시간 상수를 사용하면 한 번만 계산한다.)
  • 메모리 최적화
    • 컴파일 시간 상수는 런타임에 객체를 생성하거나 메모리를 할당할 필요가 없기 때문에 프로그램 실행 중 메모리를 차지하지 않는다.
  • 코드 가독성
    • 불변 객체로써 수정할 수 없는 값임을 코드를 읽는 사람들에게 사용 의도를 명확하게 표시할 수 있다.

VS Code 세팅 설정하기

  • (상위 메뉴에서) View - Command Palette
  • 단축키로는 Ctrl+Shift+P (컨트롤+시프트+P)

 

  • Preferences: Open User Settings (JSON) 선택

 

  • dart 하위에 아래의 코드 입력
"[dart]": {
    "editor.codeActionsOnSave": {
        "source.fixAll": true
    },
}


자동 const 기능 사용하기

const를 붙여야 하는 경고(파란 밑줄)가 표시될 수 있도록 의도적으로 코드를 작성해보자.

 

컨트롤+S(Ctrl+S)를 눌러서 파일을 저장하면 자동으로 const 키워드가 붙는다.


참고

Fun with Flutter - Flutter and Dart: When to use var, final and const

 

반응형