Differences between revisions 27 and 28
Revision 27 as of 2006-01-24 21:21:49
Size: 6309
Editor: 152
Comment:
Revision 28 as of 2006-01-24 22:15:42
Size: 6266
Editor: 152
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:

----
=== Calendar ===
 * ["/2006-02"]

MailTo(windist AT gmail DOT com)

windist 는 이런 사람입니다. (간단한 자기소개)

  • [yong27]의 후배입니다.
  • 프로그래밍을 조금 합니다.

windist가 요즘 하는 일:

  • JSP + Java + Oracle로 이루어진 스파게티코드범벅의 웹어플리케이션 유지보수를 명령받았다... --;; 이따위로 만들고 돈을 받아갔다니... 만들다말았다... ㅜㅜ


도움구함

/!\ 살려주세요! /!\

jsp 파일 하나의 라인수가 3000... 222여파일...
servlet 파일 하나의 라인수가 2000... 72파일
StoredProcedure 하나의 라인수가 2000...약 50여개
테스트코드하나 없는 스파게티 소스의 프로그램을 리팩토링하려면...
당연히 시간은 없습니다.;;;

쉽고 안전하고 효과적으로 기존의 코드를 읽고 고칠수 있는 방법 혹은 도움을 줄만한 도구들이 있을까요? Please Help Me~!!


jsp 파일 하나의 라인수가 3000... 222여파일... servlet 파일 하나의 라인수가 2000... 72파일 StoredProcedure 하나의 라인수가 2000...약 50여개 테스트코드하나 없는 스파게티 소스의 프로그램을 리팩토링하려면... 당연히 시간은 없습니다.;;; => 그렇게 상황이 나쁘다는 생각은 안드는데요. 더 심각한 상황에서도 잘 헤쳐나간 경우도 많습니다. 제가 권해드리고 싶은 것은 파레토 법칙입니다. 만약 시스템을 유지보수 중이라면 전체 중에서 일주일간 가장 수정을 자주하는 파일(CVS 로그를 간단히 분석하면 되죠)을 리팩토링 대상으로 정합니다. 혹은 전체 메소드 중에서 복잡도가 가장 높거나 라인수가 가장 길거나 한 애들 탑텐을 구해서 그 중 하나를 타겟으로 정해서 리팩토링 할 수도 있습니다.

  • 그럭저럭 진행중입니다. 계속되는 요구사항속에 하나둘씩 정리해가고 있습니다.;

리팩토링을 할 때에는 일단 원본 파일을 복사한 다음 그 복사본을 갖고 "부담없이" 해보세요. 우선은 ExtractMethod로 시작할 것을 권합니다. 이리저리 잘라내어서 하나의 메소드 길이가 20라인 정도를 넘지 않게 하세요. 한번 해보고 나서는 다시 원래로 돌아가서 다시 한번 해보세요. 두번 정도 해보면 대충 감이 옵니다. 폰트 크기를 작게 해서 종이에 찍어놓고 삼색볼펜이나 연필 같은 걸 들고 종이 위에서 리팩토링 할 것 표시를 해보는 것도 함께 하면 큰 도움이 됩니다.

  • 코드를 프린트해서 보기로 정말 많은 도움을 얻었습니다. 모니터에서 보다 더 많이 볼수있고 자유로이 필기를 할 수 있는것이 큰 장점인것 같습니다. 눈도 덜 피로하고 코드가 길어도 토너걱정없이 맘껏 뽑을 수 있어 좋네요.

그러면 이제는 실제 리팩토링을 할 차례입니다. 처음 리그레션 테스트를 만들기가 부담이 된다면 일단은 메뉴얼 테스트를 만드세요. 체크 리스트를 만드는 겁니다. 그리고 일단 가로지르기를 해서 싹뚝 잘라냅니다. 이제 테스트 집어 넣기가 한결 쉬워졌을 겁니다. 그러면 이제부터 조금씩 유닛 테스트를 붙여나가면서 같이 리팩토링 해 나갑니다.

  • 체크리스트는 머리속에만 있던것을 출력해서 모니터 옆에 붙여놓아야 겠습니다. 가뜩이나 복잡한 머리에 조금이라도 무게를 줄여야겠네요. 테스트가 부실하니 리펙토링할 용기가 안나네요. 테스트에 좀더 노력을 기울여야 할듯...

반나절 정도만 투자해도 엄청난 효과를 볼 것입니다.

  • 도움 감사합니다.

--JuNe


MaintenanceProgrammer

  • [http://www.c2.com/cgi/wiki?MaintenanceProgrammer] 분석하는것이 적성에 맞지만 지저분한 코드에서 뒹굴며 버그를 잡고 기존시스템에 맞추어 새로운 기능을 우겨 넣는 작업을 계속하다간 정말 미쳐버릴듯... 무언가 배울것이 있는 코드를 보고싶다. Maintenance가 용이한 프로그램이라면 배울것도 많겠지 보람도 있겠고.


해보고 싶은것들....

  1. 정말 맛있는 음식... 전주로 여행?
  2. 따뜻한 물에서 목욕... 온천여행가볼까?
  3. 바둑을 배워보자.
  4. 고전을 읽어보자.
  5. 이민우, 여욱환, 윤계상, 홍경인, 박광현,지성(본명:곽태근)... 문희준도??, 다음은 원빈..


우연히 찾은 타임캡슐 http://wwwold.ajou.ac.kr/~chembio/ 벌써 6년이나 지난것.. 본적도 없던 JavaScript 써가며 DHTML 로 메뉴 꾸민 기억이 나네요.ㅋㅋㅋ

  • - 용호 짱!! -[ghost]
    • 우와 타임 슬립~ BioCom 페이지로

[http://setiathome2.ssl.berkeley.edu/images/user_profile/1928830.jpg Oh My GOD~~!!!!] - 이건 지워버리길..-[ghost]


  • [/Memo]


Dear windist

  • [/Message]


CategoryHomepage

windist (last edited 2013-08-19 15:48:28 by 61)

web biohackers.net