처음 | 잡상노트 | 잡상앨범(포토로그) | 게임개발 | 게임 | 잡음



2009년 08월 13일
유닛 테스트와 리팩토링.

개인 프로젝트에 유닛 테스트를 붙여봤습니다. 프레임웍은 Google Test를 사용했습니다. 진작에 써보고 싶었었는데 조금 늦은 감이 없지 않지만 이제서라도 해봤다는게 의의랄까요.

유닛 테스트라는 것에 대해서 처음 알게 되었을때는 프로젝트의 오류를 다 잡아주는 무언가 엄청나게 거창한 테스트 프레임웍을 생각했었습니다만, 실상은? 이름 그대로 작은 단위의 테스트를 위한 것이라는 사실을 알고 조금 실망을 하기도 했었습니다.

마땅히 붙여서 테스트 해볼만한 곳이 없어서 최근 개인적으로 작업하는 프로젝트에 붙여서 간단하게 테스트를 해봤습니다. 뭐랄까 역시나 첫 느낌은
1+1=2 라는 사실을 다시한번 확인한다
라는 느낌이 강했습니다. 허무하죠?

보통 코드를 작성 할때 어느정도의 예외처리는 신경을 쓰고 작업하게 되고, 간단하게 테스트 코드를 작성해서 테스트 해 본 후에 본격적으로 해당 코드를 사용하게 되는데, 굳이 또 시간과 노력을 들여서 이런 유닛 테스트를 사용해야하나 하는 생각이 들더군요.


리팩토링 책을 볼 때마다 느끼는 것이, 책을 보면서 고개를 끄덕이면서 수긍을 하고 감탄을 하면서도 막상 현재 작업중인 프로젝트나 리팩토링이 필요한 프로젝트의 소스를 훑어보면 리팩토링이 정말 가능은 한것인가? 리팩토링이 가능한 소스는 소설속에서나 존재하는 것은 아닌가? 하는 생각이 떠오르고는 합니다. 물론 제 실력이 부족한 것도 한 몫을 하겠지만, 실제로 엉망인 코드를 보면 리팩토링은 커녕 완전히 새로 작성해도 될지 안될지 모르는 경우가 허다하다는 것이죠.

그래서 내린 결론은, 리팩토링 책은 사실은
이 책보고 기존 코드를 리팩토링을 하라는 것이 아니고 처음부터 삽질하지 말고 코딩을 잘 하라.
라는 교훈을 담고 있다라는 것 입니다.

유닛 테스트도 마찮가지 인 것 같습니다. 1+1=2 라는 것은 누구나 다 알고 있습니다. 알면서도 테스트 코드를 작성하면서 그것을 한번 더 인지하고 코딩을 하는 습관 자체가 좋은 코드를 생산해 낼 수 있게 하는 것이 아닌가 합니다. 사실 프로그래밍이라는게 1+1=3 이 되는 경우가 있지 않습니까? 그것도 자주.. 아주 많이 말이죠.

뭐 덕분에 요즘은 재미있게 코딩하는 것 같습니다.


마지막으로 리팩토링 이야기 한번 더 하자면, 리팩토링이 가능한 코드는 사실은 잘 짠 코드입니다(..)

by 지나 | 2009/08/13 20:14 | 게임개발 | 트랙백 | 덧글(4)

2009년 08월 08일
아머드코어 3 포터블.

PS2로 발매 되었던 프롬소프트의 간판 게임인 아머드코어 3의 리메이크 판이 PSP로 발매 했습니다. PS2판은 YBM에서 한글화를 해서 발매했었지만 PSP판은 메뉴얼만 한글화되서 발매 했습니다.

아머드코어 시리즈는 메카닉 액션 게임으로 수많은 부품들을 사용해서 자신만의 기체를 커스터마이징해서 용병으로서 다양한 미션을 해결하고 아레나를 통해서 라이벌들과 겨루는 게임입니다.
엠블램도 직접 그려넣을 수 있습니다. 캐노가다-_-;

커스터마이징은 수많은 부위와 엠블램... 심지어 콕핏에서의 HUD까지도 변경이 가능하더군요. FCS(무기관제시스템)의 경우, 변경하면 그 차이가 극명하게 느껴지는 것이, 새삼 커스터마이징에 얼마나 신경을 쓴 게임인지 알 수 있게되더군요.

PSP로 오면서 컨트롤러의 버튼수가 상당히 줄어서 가뜩이나 조작이 복잡한 게임이 더욱더 어려워졌습니다. 기본조작이 꽤나 복잡했습니다만 역시나 어느정도 플레이하니 많이 적응이되서 이제는 그래도 대충은 원하는데로 기체를 조작이 가능하게 되었습니다.

미션이나 아레나의 상대 기체에 따라서 대응방법을 달리해야하는 구성이라, 매번 기체를 셋팅하는 재미가 솔솔 합니다. 클리어했을때의 만족감도 그만큼 크게 되는 것 같습니다.

아머드코어시리즈가 저는 처음이라 처음에는 높은 난이도에 고생을 했었습니다만, 다른 게임에서는 볼 수 없는 독특한 시스템이 있어서 그부분을 이용하면 초반부터 쉽게 기체를 업그레이드 할 수 있습니다.

그 시스템이라는 것은 다름아니라, 부품을 사서 다시 팔아도 샀을때의 가격의 100%를 다시 받을 수 있습니다. 언제라도 부품을 사서 장비해보고 마음에 안들면 다시 팔아도 된다는 것이죠. 초반에는 일단 구입하려는 부위의 부품을 팔고 새로운 부품을 사는 식으로 플레이하면 꽤나 쉽게 적은 돈을 들려서 부품을 업그레이드가 가능합니다.

간혹 XX맞은 미션들이 있어서 좌절하기도 합니다만, 재미있게 즐기고 있습니다 :)

by 지나 | 2009/08/08 14:28 | 게임 | 트랙백 | 덧글(5)

2009년 08월 03일
어느새 3년.

어느새 입사한지 3년이 지났네요. 정확한 날짜는 8월 1일이지만, 주말이었으니 오늘부터 3년차가 되겠네요. 주변 아는 분들과 비교해서 직장을 자주 옮기는 편이 아닌데, 이번회사에서 최장기록을 세웠습니다-0-;

생각해보니 2달만 있으면 직장생활 한지도 9년이 되는 군요. 세월 참 빠릅니다. 9년전과 비교해서 뭔가 달라진게 있는지도 잘 모르겠고 요즘 좀 저기압이네요. 신나는 일도 없고 말이죠.

기분전환겸, 느슨해진 마음가짐을 가다듬을 겸 해서 공부를 좀 하고있습니다. 할 것은 많고, 안 한것도 많고, 못한것도 많고...

by 지나 | 2009/08/03 09:47 | 잡상노트 | 트랙백 | 덧글(10)

◀ 이전 페이지          위로          다음 페이지 ▶