close_sinks 진단: 닫히지 않은 Sink 인스턴스

close_sinks 진단: 닫히지 않은 Sink 인스턴스

Dart 분석기가 만들어 내는 close_sinks 진단에 대한 설명이에요.

출처: close_sinks

본문

Sink의 인스턴스를 만들고 나서 close 메서드를 호출하지 않으면 분석기가 이 진단을 만들어요. 열어 둔 채로 두면 파일이나 네트워크 같은 리소스가 제대로 정리되지 않으니까, 쓸 일이 끝나면 꼭 닫아줘야 해요.

예시

sink를 닫지 않아서 이 진단이 생기는 코드예요.

import 'dart:io';

void g(File f) {
  var sink = f.openWrite();
  sink.write('x');
}

흔한 해결 방법

sink를 닫아주면 해결돼요.

import 'dart:io';

void g(File f) {
  var sink = f.openWrite();
  sink.write('x');
  sink.close();
}

더 알아보기