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();
}