저번주에 한참 코딩을 하다가
이런 코드를 발견했다.
이 메소드를 호출하고자 하니..
도대체 어떤 옵션들을 주어야 원하는 값을 얻을 수 있는지 도통 몰라서
랩퍼 메소를 하나 만들었다.
사용되는 모든 곳에서 파라미터들을 긁어 모아본 결과..
무려 10개의 파라미터를 전달해주어야 했는데
실제로 사용하는 코드가 다음과 같았기 때문에 냄새가 폴~폴 올라왔다.
가독성 제로의 이상한 코드의 탄생이다.
마치 혹때려다가 혹 붙인 느낌이다.
이 문제를 해결하려고
파라미터라이즈 오브젝트를 사용해볼까?
빌더 패턴을 적용해볼까?
고민이 많이 되고 있었는데
내가 왜 이런 고민을 하고 있는지 더욱 의문이 들었다.
pythone 이나 C 처럼
기본값을 줄 수 없나?
아니 키워드 파라미터를 지원해준다면
내가 전달하고 싶은 키워드가 무엇인지 넘겨준다면
이런 고민은 하지 않아도 되는 것 아닌가?
다음 버전에 혹시 들어가나 싶어서
java keyword parameters 로 구글링을 시도해봤으나..
실패..
누구 좋은 방법 아시는 분 없으신가요?
이런 코드를 발견했다.
List<SomeObject> getList(HashMap param);
이 메소드를 호출하고자 하니..
도대체 어떤 옵션들을 주어야 원하는 값을 얻을 수 있는지 도통 몰라서
랩퍼 메소를 하나 만들었다.
List<SomeObject> getList( int param1, int param2, String param3, String param4, boolean param5, Enum param6, Enum Param7, Enum param8, Enum param9, AnotherObject param10);
사용되는 모든 곳에서 파라미터들을 긁어 모아본 결과..
무려 10개의 파라미터를 전달해주어야 했는데
실제로 사용하는 코드가 다음과 같았기 때문에 냄새가 폴~폴 올라왔다.
businessLogic.getList(0,0,false,null,null,null,null,null,new Object(1,2),EnumType.TYPE1);
가독성 제로의 이상한 코드의 탄생이다.
마치 혹때려다가 혹 붙인 느낌이다.
이 문제를 해결하려고
파라미터라이즈 오브젝트를 사용해볼까?
빌더 패턴을 적용해볼까?
고민이 많이 되고 있었는데
내가 왜 이런 고민을 하고 있는지 더욱 의문이 들었다.
pythone 이나 C 처럼
기본값을 줄 수 없나?
아니 키워드 파라미터를 지원해준다면
내가 전달하고 싶은 키워드가 무엇인지 넘겨준다면
이런 고민은 하지 않아도 되는 것 아닌가?
다음 버전에 혹시 들어가나 싶어서
java keyword parameters 로 구글링을 시도해봤으나..
실패..
누구 좋은 방법 아시는 분 없으신가요?
'direct' 카테고리의 다른 글
| 뭉쳐져 있는 파라미터와 펼쳐져 있는 파라미터 해결은? (0) | 2008/03/24 |
|---|---|
| Java와 Keyword Parameter : map을 이용한 파라미터 전달 혹은 수많은 파라미터를 넘겨줄 것 인가? (5) | 2008/03/24 |
| Apple iPhone SDK 발표.. (3) | 2008/03/10 |
| [코딩 도장] SICP를 풀어보는 lisp 세상.. (2) | 2008/03/06 |

