prefer_asserts_in_initializer_lists: assert는 생성자의 본문보다 이니셜라이저 목록에 두세요

prefer_asserts_in_initializer_lists: assert는 생성자의 본문보다 이니셜라이저 목록에 두세요

assert를 생성자 본문에 넣기보다 이니셜라이저 목록(initializer list)에 넣도록 안내하는 린트 규칙이에요. 생성자에서 초기 검증을 하는 더 명확한 방법을 알려줘요.

출처: prefer_asserts_in_initializer_lists

본문

설명

assert이니셜라이저 목록에 넣으세요 (DO). 생성자 본문 안에서 assert를 쓰는 것보다 : 뒤의 이니셜라이저 목록에서 검증하는 게 훨씬 깔끔해요.

BAD:

class A {
  A(int a) {
    assert(a != 0);
  }
}

GOOD:

class A {
  A(int a) : assert(a != 0);
}

활성화 방법

prefer_asserts_in_initializer_lists 규칙을 쓰려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.

linter:
  rules:
    - prefer_asserts_in_initializer_lists

대신 YAML 맵(map) 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 prefer_asserts_in_initializer_lists: true를 추가해요.

linter:
  rules:
    prefer_asserts_in_initializer_lists: true

더 알아보기