김학영님의 최근 블로그 글을 보다가, 마침 작은 팁이 있어서, 바쁜 와중에 급하게, 그리고 짧게 포스팅함.

Ant Task 등은 프로젝트 시작할 때마다 매번 생성하기가 상당히 귀찮고 시간도 많이 든다. 하지만 적절한 소프트웨어 품질을 유지하기 위하여, Test Automation이나 Documentation 등은 프로젝트에 필히 포함되어야하며, 또한 자동화되어야 한다.

나는 이러한 문제를, SCM에 프로젝트 템플릿을 올려놓고 프로젝트를 생성할 때마다 가져와서(branch 또는 dump+load) 사용하는 방법으로 해결하고 있다. 특히, Flex 프로젝트에서의 Ant Task는, Project Name을 제외하고는 모두 동일하다 싶을 만큼 재사용성이 높다. 그렇기에, 이렇게 프로젝트 템플릿을 사용하게 되면, 상당히 시간을 절약할 수 있다. 또한, Ant 빌드 파일 뿐 아니라, 각종 샘플 테스트 및 테스트 스텁, manifest.xml, flex-config.xml, MustellaTest-config.xml, 기본 패키지, README.TXT, 기본적인 의존성 라이브러리 등을 포함하면 도움이 된다.

나의 경우에는, 하나의 커다란 프로젝트 템플릿 내에, 어플리케이션 프로젝트 템플릿과 라이브러리 프로젝트 템플릿을 각각 포함하는 방식으로, 구조적으로 설계하였다. 이는 큰 프로젝트를 할 때에는 전체 템플릿을 가져다 쓰고, 또 작은 프로젝트를 할 때에는 어플리케이션 프로젝트만 따로 불러다 쓸 수 있도록 하여, 작업의 중복을 최소한으로 줄였다.

이 정도만 구현해놓고 시작하면, 나머지 부분은 저절로 진화할 것이다. (재사용성이 높은 라이브러리는 항상 스스로 알아서 진화한다.)

위에 작성한 것 외에도 프로젝트 템플릿과 관련한 팁들이 약간 더 있긴 하지만, 자칫 창의성과 다양성을 방해할 수 있는 성격의 것들이어서, 일단 이 글에서는 언급하지 않겠다.


Reference

저작자 표시 비영리 변경 금지
Posted by 찬익

트랙백 주소 : http://blog.chanik.com/trackback/68 관련글 쓰기

  1. Subject : 프로젝트 템플릿 ant

    Tracked from dieBuster 2010/03/10 18:31  삭제

    찬익님은 이러한 글을 적었습니다. 근데 글의 느낌이 말이죠, 그러니까 그게 좋은데…라고 말해주면서 메롱~이라고 같이 외치는 느낌이랄까 ^^; 그래서 제 초기화 xml을 공개해볼까합니다. 제 init.xml은 매우 다양한 일을 합니다. 다음과 같이 요약됩니다. 프로젝트의 기본 폴더 구조를 잡는다 – doc, lib, src/com/bsidesoft/P, src/embed, src/remote 등 사용할지도 모르는 프리로더를 생성...

댓글을 달아 주세요

  1. BlogIcon hika 2010/03/10 18:32  댓글주소  수정/삭제  댓글쓰기

    자칫 창의성과 다양성을 방해해버렸어요 ^^

    • BlogIcon 찬익 2010/03/10 21:03  댓글주소  수정/삭제

      ㅎㅎㅎ 트랙백 감사합니다.
      창의성과 다양성도 중요하지만, 그보다 더 중요한 것이 이슈에 대한 관심과 사랑 아니겠습니까. ㅎㅎ
      또한 제가 적은 내용과 비슷한 부분도 있고, 또한 다른 부분도 있으니, 오히려 창의력에 더 큰 시너지 효과를 기대할 수 있을 것 같아요. ㅎㅎ
      거기서 한 걸음 더 나아가려면, 기완님 글에 제가 다시 조금 내용을 더해서 트랙백을 달아야겠지요. 시간 나는대로 실행(?)에 옮기도록 할게요. ㅎㅎ
      또한 다른 분들의 경험, 시도, 또는 아직 시도해보지 못한 아이디어들도 기대하겠습니다. ㅎㅎ

  2. BlogIcon 지돌스타 2010/03/10 23:51  댓글주소  수정/삭제  댓글쓰기

    ㅋㅋㅋ 저도 메롱에 당했을지도.

  3. BlogIcon 열이아빠 2010/03/11 09:51  댓글주소  수정/삭제  댓글쓰기

    창의성과 다양성을 방해해주셔도 괜찮은데..^^
    멋진 아이디어 공유 감사합니다. ^^

    • BlogIcon 찬익 2010/03/11 16:26  댓글주소  수정/삭제

      답글 감사합니다. ㅎㅎ
      되도록 모든 팁과 노하우를 공유하고 싶지만, 시간도 부족하고, 또 제가 뭘 알고 있는지조차 잘 모르겠어요. ㅎㅎ

  4. BlogIcon vulcan 2010/03/12 01:06  댓글주소  수정/삭제  댓글쓰기

    저도 어플리케이션과 라이브러리 프로젝트를 항상 쌍으로 생성합니다. 어플리케이션 프로젝트에서 라이브러리 프로젝트 참고해서 주로 테스팅하기 위한 용도로 쓰지요. 라이브러리를 사용 예를 보여주는 샘플이라고나 할까.. 대신 프로젝트 폴더가 너무 많이 생긴다는..ㅜㅜ

    • BlogIcon 찬익 2010/03/12 04:48  댓글주소  수정/삭제

      음.. 전 프로젝트(업무 단위)마다 워크스페이스를 각각 생성해서 쓰는데.. 그렇게해도 많은가요?

    • BlogIcon 찬익 2010/03/12 04:51  댓글주소  수정/삭제

      또, 서버사이드(Java 등)도 SCM(서브버전 등)의 저장소는 하나의 저장소 내에 두지만, 실제 작업시 워크스페이스는 따로 갈라놓아요. 끝난 프로젝트들은 SD카드에 한번 더 백업하고 삭제 ㅎㅎ

    • BlogIcon vulcan 2010/03/12 05:31  댓글주소  수정/삭제

      전 workSpace 와따가따 하는게 번거러워서 몽땅 한곳에서 해요..푸하하하 어떨땐 창고에서 뭘 찾는듯한 기분이 들때도 있지요..
      workSpace 활용하는거 쫌 생각해야겠는데요 ㅎㅎ. 하나 배워 갑니다.^^

    • BlogIcon 찬익 2010/03/12 05:51  댓글주소  수정/삭제

      처음엔 저도 좀 번거로왔는데, 익숙해지고 나니까 꽤 괜찮더라구요 ㅎㅎ
      그나저나, 야식 없이 밤샘 작업 하려니까 배고프네요..

  5. BlogIcon 검쉰 2010/03/12 08:06  댓글주소  수정/삭제  댓글쓰기

    메롱남 찬익 ㅋ

  6. BlogIcon 지돌스타 2010/04/06 20:59  댓글주소  수정/삭제  댓글쓰기

    이 글 덕택에 아이디어 한가지를 적용했습니다. ^^
    http://dev.naver.com/projects/wonderfl