티스토리 뷰

반응형

※ 프로그래밍 작성 스타일에 따른 내용이므로 개인적인 견해가 포함되어 있습니다.

 

String.Equals 함수를 사용할 때, parameter 가 null 일 수도 있는 경우, 대부분 이렇게 사용한다.

 

1) if (a != null && a.Equals("Y"))

2) if (!string.IsNullOrEmpty(a) && a.Equals("Y"))  //이 경우, a 가 string 타입인건 보장되어야함

이럴 경우, 체크 문이 두개씩 들어가게 되어, 변수가 많아질수록 가독성 측면에서 좋지 않다고 생각한다.

 

 

해당 조건문은 아래와 같이 간략화하여 사용할 수 있다.

간단한 비교구문에서는 아래처럼 사용하는 것이 효율적일 것으로 보인다.

if ("Y".Equals(a))

 

다만, 사용자가 원하는 동작이 NULL 값을 에러로 취급하여 별개 동작을 해야하는 상황일 때는 주의가 필요하다.

아래 발췌한 블로그 글에서 해당 내용에 대해서 상세하게 적혀 있으니 참고하도록 하자.

 

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=djllove&logNo=150022097263 발췌

 

 

해당 경우가 우려되는 경우에는 아래와 같이 처리하는 것이 어떨지 싶다.

if ("Y".Equals(a))
   actionY();
else if ("N".Equals(a))
   actionN();
else
   actionException(); //or Throw Error;

 

 

 

여기부터는 사족

 

 

관련하여 예전에 강의 시간에 상수를 좌측에 사용하는 것이 좋다는 이야기(필자의 의견은 아니며, 본인은 개인의 코딩 스타일이라고 생각함) 들었던 것 같아서 찾아보니까, 아래와 같은 견해를 발견하여 흥미로워서 참고로 넣었다.

 

이유는 실수를 비교구문을 '==' 가 아닌 '=' 로 사용하였을 때, 발생하는 오류를 잡을 수 있다는 이유이다.

예시. https://zepeh.tistory.com/534 발췌

 

 

다만, 현재는 프로그램들이 많이 발전하여 컴파일러에서 다 잡아주기 때문에, 취향 여부가 아닌 필수로 사용할 일은 없을 것 같다.

 

 

 

출처

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=djllove&logNo=150022097263

 https://zepeh.tistory.com/534

 

반응형
댓글