문제

나는 단독 개발자에 대한 학 컨소시엄 본사를 두고 대학에서 동북아에서.내 모든 개발 작업을 포함하는 내부 도구,Java,그래서 아무것도 대중에게 공개.지금,나는 같은 느낌을 내는 개발 워크플로우"취미"와 같이 아무것도에서 볼 수 있는 경험이 풍부한 소프트웨어 개발 회사입니다.저는 경향이 있을 것 이라고 말하지 않는 것이 정말 중요 때문에 나는 단지 개발에 어쨌든지만,그것은 해치지 않을 수 있 일부 내용을 변경하는 경우에,다른 이유하는 것보다 나 좀 더 쉽게 작업을에는 기술에 내가 다시 시작합니다.지금 내가 워크플로는 무언가 이것을 좋아한다:

  • 나는 나의 대부분의 개발 작업 이클립스 나 노트북입니다.모든 것이에 로컬로 저장된 내 컴퓨터,나는 사용하지 않는 VCS 않으며,나는 정말 백업 내 코드(제외한 때때로 이메일을 보내 그것은 나 자신에게도 나는 그것을 볼 수 있는 다른 컴퓨터에서-그래,내가 당신을 말한 개발 환경이 필요 작업).

  • 할 때 내가 완료 프로젝트와 원하는 배포하는 경우 또는 나는 그냥 그것을 테스트하고,사용에 내장 된 항아리에서 도구를 이클립스를 실행 파일을 만듭니다.항아리 나의 프로젝트입니다.내가 사용하는 경우 외부.jar 라이브러리를 사용방지 플러그인이 포함됩니다.항아리 내에서 실행.jar.

  • 후에 내가 만듭니다.항아리,나는 수동으로 서버에 업로드를 통해 SFTP 및 테스트와 같은 뭔가 java -jar MyProject.jar.

오,그래도 난 단위 테스트?

가장 눈부시게 분명 문제가 언어를 사용하고 있는데,첫 번째 해결은 나의 부족이었습니다.나는 다음과 같 git 기 때문에 그것의 자연을 분산지만,그것은 보이지 않는 통합과 이클립스가 잘 듣지 않는 것을 매우 잘 작동,윈도우에서는 나의 기본 개발 OS.그래서 나는쪽으로 기울고 SVN,상호작용을 할 수 있는 몇 가지고 있습니다.나는 내 자신의 개인적인 서버가 사용하는 것에 대한 나의 원본을 제어하기 때문에,내가 아니라 내 자신의 관리자 처리하는 것보다 대학 bureaucracy.나는 그 어떤 설정에 문제가 SVN 하기 전에 한 번 있지만,나는 그것에게 또 다른 기회.어쩌면 내가 또한 무언가를 설치 다음과 같 Trac 또는젝 버그 추적이,할일 목록 등?

에 대해 무엇을 구축 및 배포?수 있다는 것 보다 더 좋은 방법을 사용하여 지방이지 및 수동으로 업로드 내 항아리하는 서버입니다.나는에 대해 들어 같은 도구를 개미와 Maven-이 적용되 내가 무엇을 하시겠습니까?를 얻을 수 있는 방법을 사용하기 시작 그?

나는 것은 결국 같은 통합하는 단위 테스트 JUnit too.지만 그것은 아마도 해야하지 않는 나의 주요 관심사는 바로 지금이기 때문에,지금까지 내 응용 프로그램지 않은 몹시 복잡합니다.나는 진짜로 좋아하는 작업 단순화하고 효율화 나의 워크플로 지금,그리고 나는 것으로 쉽게 단위 테스트입니다.

이 질문입니다.나는 나의 질문으로 귀결을 위한 단독 개발자,도구와 방법론을 할 수 있/해야 나를 사용하게 만들 뿐만 아니라 나의 일을 쉽게 하지만,또한 자신을 노출하는 일부 기술이 기대되는 필요한 지식을에서는 전용 개발에 집?


편집:주셔서 감사합니다 아주 좋은 대답니다.지 않았을 의미하는 것이 좋은 것을 만들고 싶어 내가 워크플로우"enterprisey"그냥 일을 위해 그것은,그러나 나의 작업이 간단하고 몇 가지 기술에는 벨트에서 일반적으로 사용되는 기업의 개발 환경입니다.는 모든 내가 의미합니다.

도움이 되었습니까?

해결책

당신이 실제로 당신이해야 할 일에 대해 꽤 좋은 아이디어를 가지고있는 것처럼 보입니다.

전복 (또는 다른 VC)을 사용하는 것이 필수입니다. 개인 코드를 사용하지 않고 작업 관련 코드를 위해 별도의 SVN 저장소를 설정하는 것이 현명 할 수 있습니다.

하위 클립과 같은 플러그인을 사용하여 Subversion을 Eclipse와 통합 할 수 있습니다.

나는 분명히 개미 또는 maven을 사용할 것입니다 - 내 선호는 개미입니다. 왜냐하면 그것이 더 유연하기 때문에, 나는 그것이 Maven보다 당신의 개발 스타일에 더 적합 할 것이라고 생각합니다. 그러나 당신은 또한 조사하고 싶을 수도 있습니다 아파치 아이비, 의존성 관리를 처리합니다.

기본적으로 컴파일, 빌드 및 배포 단계를 실행하는 개미 작업을 설정하므로 최종 JAR 패키지를 만들 때 개미 스크립트의 일부로 장치 테스트되었는지 확인할 수 있습니다. 개미를 시작하는 가장 좋은 방법은 몇 가지 예를보고 읽는 것입니다. 수동.

단위 테스트는 단위 테스트로 점차적으로 구축 할 수 있습니다. 다음과 같은 코드 커버리지 도구와 함께 Junit을 사용하는 것이 좋습니다. 코베르 투라 (설정하기 쉽다) - 테스트가 다루고있는 코드의 양을 이해하는 데 도움이되며 테스트가 얼마나 효과적인지에 대한 지표입니다.

TRAC와 같은 것을 설정하는 동안 가치가있을 수도 있습니다. 버그를 추적하는 것이 중요하며, 위키는 놀랍게도 문서화에 유용합니다.

다시 말해,이 모든 것은 당신이 올바른 줄에있는 것처럼 들립니다. 당신은 이러한 도구 중 일부를 사용하기 시작하면됩니다!

다른 팁

만약 당신이 정말로 설정되어 소스 제어,내가 권하고 싶은 당신 시장.그 GIT-분산처럼 원어의 설계를 수행하는 매우 높은 품질의 병합할 필요가 없습니다.상자에 그것은 작품을 포함한 모든 플랫폼에서 윈도우와 그들 TortoiseBZR 클라이언트입니다.

정말이지만,어떤 소스 제어 있습니다당신은 단독 개발자는 다음에 대한 필요가 없도보다 더 복잡 SVN.큰 회사 및 프로젝트에 사용 SVN 모든 시간으로 약간의 문제입니다.

멀리 유닛 테스트에서 문제가 발생하지,당신은 자신에게 익숙한 JUnit.사실 당신이 알고 있는 단위의 테스트 및 알고 있어야 하고 그것은 여전히 여러 단계에 앞서 대부분의 ad-hoc 개발자입니다.

버전 제어를 사용하십시오. 기간. SVN이 있습니다 엄청난 일식 및 창문과의 인터레이스. Windows 용 TourTissVN 클라이언트를 가져 와서 Eclipse와 함께 하위 클립 플러그인을 사용하십시오.

외부 HD를 얻는 것을 권장하거나 회사의 서버 중 하나를 사용하여 저장소를 켜고 백업을 자주 수행합니다. 전복은 배포 및 업그레이드와도 잘 작동합니다. 하는 방법을 배우면 되돌아 보지 않을 것입니다. :)

단위 테스트에 관한 한, 어떤 사람들은 그것이 갈 길이라고 말할 것입니다. 그러나 나는 연습을 직접 시작하기에 충분한 증거를 찾지 못했습니다. 이 질문에 대해 Sombody가 저를 설득 할 수 있다면 제발하십시오!

또한 워크 플로를 "엔터프라이즈"하려고하지 마십시오. 거대한 팀과 코퍼레이션과 잘 어울리는 관행은 당신에게 효과적이지 않을 수 있습니다. 나는 거의 유일한 개발자이며 당신이있는 상황을 알고 있습니다. 모든 것을 시도하고 잠시 후에 자연스러운 느낌을 유지하십시오.

그러나 SVN을 시도해보십시오! 회사에 Apache가있는 Linux 서버가있는 경우 DAV-SVN을 사용하여 서버를 설정할 수 있는지 확인하십시오.

:)

나는 당신이 대부분의 질문에 대답했다고 생각합니다.

  • 소스 제어 : SVN 선택 - 쉬운 설치, Eclipse와의 통합 (하위 클립).
  • 개미를 사용하여 프로젝트를 구축하고 배포하십시오 (SCP/SFTP 작업)
  • SVN에서 모든 설정 (Eclipse Project 설정, XML을 구축하는 등)을 유지하십시오.
  • Bugzilla를 사용하여 버그/문제/요청/아이디어를 추적하십시오.

는 것은 매우 유익한 작업을 시작하는 버전이 제어합니다.시작,지금 지체하지 마세요.Git 은 움직이는 정말 빨리,그리고 이미 TortoiseGit 개발되고 있습니다.SVN 은 여전히 훌륭한 기준으로 작동합니다.고 나와 함께 일하지 않은,그러나 그것은 또 다른 벤처 캐피탈 그 가치가 있다.

다른 것보다,나는 보지 않는 이유는 당신의 워크플로는 enterprisey.단지 그것이 효율적이고 편안합니다.는 말했다,내가 해야겠다고 생각하는 작업 단순한 텍스트 편집기에서 컴파일하는 명령 라인입니다.대부분의 세계 최고의 프로그래머들은 여전히 사용하는 대신 IDE 며,그것은 당신을 도울 것입니다 프로세스를 이해 아래 좋아하는 IDE 입니다.

실용적인 프로그래머를 확인하십시오. 실용적인 스타터 키트.

그것은 대학/등의 소프트웨어 개발의 중요한 기본 사항에 대해 학교에 학교를 공개합니다. 버전 제어, 단위 테스트 및 프로젝트 자동화 (순서대로)와 같이 통과하는 것처럼 보이며 매우 접근하기 쉬운 방식으로 수행합니다.

그것은 당신에게 거기에서 계속 갈 수있는 견고한 기반을 줄 것입니다.

Matt Raible의 Appfuse를 살펴보십시오.

Maven 및 Unit Testing을 통합합니다.

http://raibledesigns.com/rd/tags/appfuse

당신이 그것을 마지막으로 넣었지만, 나는 당신이 지체없이 Junit을 사용하기 시작해야한다고 생각합니다.

그 이유는 아마도 그럴 것입니다 가장 쉬운 당신이 식별 한 야망과 도구는 거의 이미 일식 빌드에 내장되어 있습니다.

프로젝트에서 'Junit'이라는 새 폴더를 만드십시오.

setAnnualSalary () 및 getMonthlySalary () 메소드가있는 직원 수업이 있다고 가정 해 봅시다.

Juunit 폴더를 마우스 오른쪽 버튼으로 클릭하십시오. New-> "Junit Test Case". 이것은 새로운 수업을 만들 것입니다. 그것을 reademployee라고 부릅니다. Eclipse는 평소와 같이 보일러 플레이트를 생성합니다.

'테스트'로 시작하는 이름이있는 빈 공간 메소드를 추가하십시오.

public void testSalaryCalc() {
    Employee emp = new Employee("John Doe");
    emp.setAnnualSalary(12000);
    assertEquals(1000,emp.getMonthlySalary());
}

" ->"junit test "를 마우스 오른쪽 버튼으로 클릭하십시오. (이클립스가 처음으로 프로젝트를 설정하라는 메시지가 표시 될 수 있습니다. 그 말 만하면됩니다.)

직원이 제대로 작동하면 녹색 막대가 표시됩니다. 직원 클래스를 방해하고 테스트를 다시 실행하면 빨간색 막대와 실패가 무엇인지 알려주는 출력이 보입니다.

축하합니다 : 당신은 단위 테스트입니다!

부모 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 "Junit Test로 실행"을 선택하면 디렉토리의 모든 테스트 케이스 클래스가 실행됩니다. 나중에 주니트를 빌드 프로세스에 통합 할 수 있지만 지금은 걱정하지 마십시오.

AutoComplete는 모든 변형을 보여줍니다 assert() 당신이 사용할 수있는. 당신은 그것에 대해 읽고, 구현하기 전에 테스트 사례를 작성하는 관행을 목표로 할 수 있습니다. 그러나 위의 간단한 일을하는 것만으로도 큰 이점이 있습니다.

설정 버전 컨트롤과 몇 가지 단위 테스트가 있으면 지속적인 통합 서버를 고려할 것입니다 (엔터프라이즈가되고 싶습니까?).

당신이 유일한 개발자를 유지하더라도, 이것은 몇 가지 오류를 발견하는 데 도움이 될 수 있습니다. 체크인을 잊어 버린 것들이나 좋아하는 것들. CI-Server는 정기적으로 모든 소스를 확인하고 모든 테스트를 실행하는 청정 빌드를 수행합니다. 또한 오류의 경우에도 연락합니다.

이를 통해 귀하 (또는 다른 사람)가 코드를 확인하고 프로젝트를 구축/실행할 수 있다는 보장을 제공합니다.

나는 살펴 보는 것이 좋습니다 허드슨 강

다른 사람들이 말했듯이, 당신은 이미 당신이해야 할 일을 분명히 알고 있습니다. VCS는 필수품, CI 또는 버그 추적은 과잉 일 수 있습니다 (단일 개발자의 경우 스프레드 시트가 버그 추적에 충분할 수 있음).

당신에게 큰 도움이 될 수있는 한 가지는 조직화 된 제품 백 로그를 유지하는 것입니다. 솔로 개발에서 우선 순위가 높은 기능에 집중하고 기능 크리프를 피하는 것이 가장 큰 도전 중 하나가되었습니다. 백 로그를 유지하면 엄청나게 도움이됩니다. 각각의 범위에 대한 일부 메모가있는 우선 순위가 좋은 기능 목록 이상일 필요는 없습니다. 내 직장에서는이 정보를 TRAC에 보관하지만 여기서는 스프레드 시트 만 있으면됩니다.

그리고 단위 테스트, 특히 TDD (Test Driven Development)를위한 플러그를 넣고 싶습니다. 켄트 벡의 책 시작하기에 좋은 곳입니다. TDD는 특히 QA가없는 단일 개발자 프로젝트에서 내가해야 할 일에 정직하고 집중하는 데 도움이된다는 것을 알게되었습니다. 때로는 코드가 작성하는 것처럼 보입니다.

당신은 정말로 확실한 답변을 얻었으므로 짧은 게시물은 Test Driven Development에 관한 기사에 링크를 추가하여 CV에서 좋아 보이는 민첩한 관행입니다.TDD

SVN 서버를 배치하려는 Windows 서버를 실행중인 경우 사용하십시오. 시각적 SVN 서버로. 설정 및 사용이 매우 쉽고 기본 인증 및 Windows 인증을 모두 지원합니다. 또한 무료로 사용할 수 있습니다.

Eclipse에는 SVN 서버와 통합 할 수있는 모듈이 상당히 많으므로 그 중 하나 또는 이미 제안 된 거북이 SVN을 사용하십시오.

이전의 모든 의견은 당신이 필요로하는 거의 모든 것을 다루었습니다 :-)

개발 방법 (개발 워크 플로)에 대한 또 다른 접근 방식을 추가하고 싶습니다.

다음 기사를 읽고 GIT 워크 플로이지만 사용중인 다른 도구에 동일한 아이디어를 사용할 수 있습니다.

http://nvie.com/posts/a-successful-git-branching-model/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top