반응형
*이 포스트는 아래의 url에서 퍼온 것입니다.
출처: http://tost.tistory.com/96 [정선생의 블로그]
기존에는 null체크를 해서 없으면 바로 return으로 함수(메소드)를 탈출해 버렸으나...
내가 범접하기 힘긴 높은 내공을 지닌 그룹장님께서 return으로 탈출하면 가독성이 떨어져
문제점을 찾기 힘들어 진다는 충격적인(??) 이야기를 들었다.
일단 화면출력을 위한 가공을 위한 기능에서는 null이냐 '' 빈값이냐는 큰 의미가 없다.
오히려 에러를 낼수 있는 잠재문제을 가질뿐....
아무튼 return문이 문제가 된다고 해서 최근 쓰는 코딩스타일...
<추천 코드형식 - 현재 쓰는 형식>
public static String formatHeadstr(String head, String str)
{
String result = "";
if ( ( str == null ? "" : str ).length() > 0 )
{
result = (head==null?"":head) + str ;
}
return result;
}
{
String result = "";
if ( ( str == null ? "" : str ).length() > 0 )
{
result = (head==null?"":head) + str ;
}
return result;
}
<테스트결과>
System.out.println( "[1]" + formatHeadstr( "작성자 : " , "정민철") );
System.out.println( "[2]" + formatHeadstr( "작성자 : " , "") );
System.out.println( "[3]" + formatHeadstr( "작성자 : " , null) );
---------------------------------------------------------------------------------------
[1]작성자 : 정민철
[2]
[3]
System.out.println( "[2]" + formatHeadstr( "작성자 : " , "") );
System.out.println( "[3]" + formatHeadstr( "작성자 : " , null) );
---------------------------------------------------------------------------------------
[1]작성자 : 정민철
[2]
[3]
개발하다보면
null처리나 기타 예외처리에 신경을 쓰다보면 많이 반복되는걸 느낀다...
습관으로 피할수밖에...
사족으로 기존에 쓰던 코드 구조..
public static String formatHeadstr(String head, String str)
{
String result = "";
//null은 무조건 탈출
if ( str == null )
return result;
if ( str.length() > 0 )
{
result = (head==null?"":head) + str ;
}
return result;
}
{
String result = "";
//null은 무조건 탈출
if ( str == null )
return result;
if ( str.length() > 0 )
{
result = (head==null?"":head) + str ;
}
return result;
}
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java]toString 메서드에 대한 이해 (0) | 2018.09.11 |
---|---|
[Java]기본 클래스를 찾거나 로드할 수 없습니다 오류 해결 (2) | 2018.08.08 |
Java(import(임포트)) (0) | 2018.03.15 |
Java(package(패키지)) (0) | 2018.03.15 |
Java(왜 자바에서 static의 사용을 지양해야 하는가?) (5) | 2018.03.13 |