avoid_print: 프로덕션 코드에서 print 호출을 피하세요

avoid_print: 프로덕션 코드에서 print 호출을 피하세요

avoid_print는 프로덕션 코드에서 print 호출을 쓰지 말라고 알려주는 린트(lint) 규칙이에요. 디버깅 출력을 더 적절한 방식으로 처리하도록 이끌어줘요.

출처: avoid_print

본문

상세 설명

프로덕션 코드에서는 print 호출을 피하세요. 프로덕션 코드라면 로깅(logging) 프레임워크 사용을 고려해 보세요. Flutter를 사용한다면 debugPrint를 쓰거나, kDebugMode 검사로 print 호출을 감쌀 수 있어요.

BAD:

void f(int x) {
  print('debug: $x');
  ...
}

GOOD:

void f(int x) {
  debugPrint('debug: $x');
  ...
}

GOOD:

void f(int x) {
  log('log: $x');
  ...
}

GOOD:

void f(int x) {
  if (kDebugMode) {
      print('debug: $x');
  }
  ...
}

활성화하기

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

linter:
  rules:
    - avoid_print

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

linter:
  rules:
    avoid_print: true

참고로 이 규칙은 Dart 2.5에서 추가됐고, 자동 수정(fix)이 제공돼요. Flutter 프로젝트에서 특히 자주 볼 수 있어요.

더 알아보기