본문 바로가기
개발/기본) 기본기

기본기) Null을 효과적으로 처리하기 위한 팁

by 테샤르 2022. 5. 31.

Null을 효과적으로 처리하기 위한 팁

 

Null을 사용하는 과정에서 좀더 효율적으로 사용하기 위한 팁을 어떻게 하다가 알게되어서 

겸사겸사 정리하는 포스팅이다.

 

반응형

1. Null 체크를 하는 과정을 너무 복잡하게 만들지 마라.

if (Optional.ofNullable(myVariable).isPresent()) // bad
if (Objects.nonNull(myVariable)) // better, but still bad
if (myVariable != null) // good

가독성에 관련된 내용인데 맨밑의 null 체크는 한눈에 파악하기 쉬우나 위의 2가지는 해당 기능의 사이드 이펙트가 존재할수 있다. 직관적인 형태로 사용하는게 제일 좋다.

 

2. Null을 인수로 전달하지 마라.

좋은 코딩의 가장 중요한 원칙인데 null을 전달하게되면 null값을 처리할수있는지 파악해야 하는 경우가 생기는데 이를 미연에 방지하는게 좋다.

 

3. Null 체크는 최대한 단일로 조건을 처리하자.

여러가지 공통 조건의 Null을 체크해야하는 경우에 논리연산자(And, Or)으로 묶는 경우가 있는데 이는 가독성이 좋지 않다.

개별로 조건을 처리하는게 좋다.

//Bad
if(Unit.IsInput && Unit.IsDeath)
	return;
    
//Good
if(Unit.IsDeath)
	return;
if(Unit.IsInput)
	return;

4.Nullable 을 사용하는것도 고려해보자.

Null이 포함될수있는 경우가 생기면 Nullable 참조 형식으로 사용하자.

string? name;

5. Null 체크와 함께 로그를 찍는것도 고려하자.

선행으로 처리되어야하는 항목중에서 Null이 되는경우에는 콘솔로그를 찍어두면 좀더 수월하게 버그를 확인할수 있다.

 

6. 병합연산자를 사용해서 기본값을 지정하는것도 방법이다.

 

//Bad
string name = GetName();
if (name == null)
    name = "Unknown!";
    
//Good
string name = GetName() ?? "Unknown!";

 

 

원본링크  : [ 링크 ]

 

10 Tips to Handle Null Effectively - DZone Java

 

dzone.com

Microsoft Nullable 참조 형식 : [ 링크 ]

 

nullable 참조 형식

이 문서에서는 C# 8.0에 추가된 nullable 참조 형식에 대해 간략하게 설명합니다. 이 기능이 신규 및 기존의 프로젝트의 null 참조 예외에 대해 어떻게 안전성을 제공하는지 알아봅니다.

docs.microsoft.com

 

Microsoft ?? 및 ??= 연산자 : [ 링크 ]

 

?? 및 ??= 연산자 - C# 참조

C# null 병합 연산자인 ?? 및 ??=에 대해 알아봅니다.

docs.microsoft.com

 

Null 을 처리하는 예외 및 사용하는 과정에서 좋은 방향은 자신의 스타일에 따라 고려하는것이 좋다.

가독성이 좋아지면 오류가 생기는 확률이 낮아진다.

최대한 명확하게 표현하는것이 좋은것 같다.

 

★☆☆☆☆

 

반응형

댓글