소프트웨어 이야기

어떤 메소드

이현봉 2012. 11. 21. 19:50

int  SomeClass::laughing_alltheway_to_Andromeda() { int flag, return_code; flag = someObject.check(some_string_a); if (flag == 3) { if (!aa && bb) { if (aa) doSomething(); // 기본적으로 return_code에 값을 넣음. } } else {  flag = someObject.check(some_string_b); if (flag == 3) { if (!aa && bb) { if (aa) doSomething; // 기본적으로 return_code에 값을 넣음. } } else {  flag = someObject.check(some_string_c); if (flag == 3) { if (!aa && bb) { if (aa) doSomething; } } else {  flag = someObject.check(some_string_d); if (flag == 3) { if (!aa && bb) { if (aa) doSomething; } } else {  flag = someObject.check(some_string_e); if (flag == 3) { if (!aa && bb) { if (aa) doSomething; } } else { // 이렇게 계속. 클라이맥스는 아직 아님 ... } } } } }

return return_code;             // this is the killer... }

이 패턴으로 '}' 이 19개 연속 중첩되고 한 메소드가 거의 3000줄이 된 것도 본 적있다. 

그래도 괜찮다.  지구는 돌고 인생은 간다.


Spiegel Im Spiegel


'소프트웨어 이야기' 카테고리의 다른 글

오픈소스와 명품과의 거리  (0) 2013.01.23
Big Data 단어 유감  (0) 2013.01.22
멀티스레딩  (0) 2012.09.07
윈도우즈 시스템 분석 도구  (0) 2012.03.07
AWS Linux AMI에 APC 설치  (0) 2012.01.14