`void` 타입에는 값을 할당하지 마세요
void 타입에는 값을 할당하지 마세요
void는 '값이 없다'는 뜻인데, 그런 타입에 실제 값을 넣으려 하면 이상해지기 마련이에요. void 타입에 무언가를 할당하는 코드는 피하는 게 좋아요.
출처: void_checks
본문
void 타입에는 할당하는 것을 피해야 해요. void는 값이 아예 없는 상황을 나타내니까, 여기에 1 같은 실제 값을 넣으려고 하면 타입 검사에서 걸리죠.
좋지 않은 코드:
class A<T> {
T value;
void test(T arg) { }
}
void main() {
A<void> a = A<void>();
a.value = 1; // LINT
a.test(1); // LINT
}
타입 파라미터가 void인 A<void>를 만들고, 그 안에 정수 1을 할당하거나 넘기려고 하니 문제가 생겨요.
이 규칙 켜는 법
void_checks 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.
linter:
rules:
- void_checks
YAML 맵 문법을 쓴다면 이렇게 해 주면 돼요.
linter:
rules:
void_checks: true