2009-08-07 3 views
2

업계 경험이 거의없는 시작 프로그래머로서, 저는 많은 기술을 기반으로하는 새로운 프로젝트를 배우는 것이 실망 스럽습니다. 익숙한. 현재 진행중인 프로젝트에는 약 15,000 줄의 코드가 포함 된 약 150 개의 클래스가 있으며, 소켓 및 보안 프로그래밍에 중점을두고 제가 경험이없는 곳에서 시작해야할지 모르겠습니다.Java : 경험이 거의 또는 전혀없는 프로젝트를 배울 수있는 단계는 무엇입니까

제한적인 문서 작성과 도움으로 자습 학습은이 프로젝트 전체를 이해하는 데 가장 좋은 자료입니다. 나는 종종 내가 집중해야 할 중요한 수업을 놓치지 않고 제품의 중요하지 않은 특징을 배우는 데 너무 많은 시간을 보냈다. 시간이 많이 걸리는 주된 이유는 종종 자바 API 작은 코드 블록을 이해하기 위해 몇 분마다 참조하십시오 ... 나는 결국 시행 착오를 통해 그것을 배우게 될 것이라고 확신합니다. 그러나 나는 유용한 조언과 지침이 있다고 확신합니다.

+2

15000 줄이 실제로는 약간 작습니다. –

+0

이 질문에 대한 답변은 "Java"에만 해당되지 않습니다 –

답변

1

몇 가지 마음에 와서 :

  1. 는 JDK와 표준 수업에 익숙해지고 약간의 시간을 보내십시오. 당신의 머리 꼭대기에서 지식을 가지면 API 스펙을 확인하는 데 더 많은 시간과 노력이 필요하지만, 찾고있는 특정 사항없이 그냥 브라우징하는 데 시간을 할애 할 수도 있습니다.
  2. 프로젝트에서 일부 프레임 워크 또는 라이브러리를 사용하는 경우 프로젝트 사이트의 "소개"페이지를 읽음으로써 프로젝트에 가져 오는 내용을 간략하게 볼 수 있습니다. 나는 이것이 당신에게 특별한 도움이 될 것이라고 생각합니다. 왜냐하면 당신이 좌절의 원인으로 프로젝트에서 사용 된 기술 중 일부에 대해 익숙하지 않은 것을 언급했기 때문입니다.
  3. 기능 통합 또는 회귀 테스트가있는 경우 프로젝트의 주 항목이 가리키는 항목을 처리하는 좋은 방법 일 수 있습니다. 작은 세부 사항을 이해하려고 할 때 프로젝트의 고급 기능을 잘 이해하면 도움이되는 경우가 많습니다.
  4. 팀원에게 밧줄을 보여줄 멘토가 있으면 도움이 될 것입니다.

당신이 언급 한 프로젝트의 크기에 따라, 이것은 당신을위한 생산 코드에 대한 부드러운 소개 일 수 있다고 생각합니다. 지금은 큰 것처럼 보일지 모르지만, 15000 줄의 코드는 프로젝트 진행 과정에서 결국 작업하게 될 작은쪽에 있습니다.

이것은 반드시 학습 경험이 될 것임을 기억하십시오. 업계 최초의 프로젝트 중 하나이기 때문에 사물에 익숙해지는 데 약간의 시간이 걸릴 수 있습니다. 익숙하지 않은 코드 기반으로 라이브러리/프레임 워크 스프에서 수영해야하는 첫 번째 인물이 아니란 점을 명심하십시오.

행운을 빈다.

1

학습 코드 기반에는 시간이 걸립니다. 새로운 개발자가 코드 기반에 익숙해 지려면 3 개월 정도 걸린다.

실제로 도움이되는 것은 실험하고 무슨 일이 일어나는지보고 API에 익숙해지는 것입니다.

2

처음에는 모든 코드 줄을 이해할 필요가 없습니다.

수석 개발자를 30 분 정도 빌려서 코드의 주요 블록이 무엇인지, 상호 작용하는 방식, 사용자/사용이 체계.

그런 다음 모듈의 소스를 조사하여 (설명 후) "모든 작동 방식"에 대한 최상의 통찰력을 얻을 수 있습니다.

저는 소스 코드의 큰 블록을 인쇄하고 인쇄물로 바닥을 덮는 습관을 가지고 있습니다. 그런 다음 무릎을 꿇고 펜으로 바닥에서 무릎을 꿇고 말 그대로 화살표를 그리고 섹션을 그립니다. 2D로 코드를 표시하면 쉽게 파악할 수 있습니다. 또한 흐름을 더 자세히 이해할 수 있도록 풍부한 메모를 만들 수 있습니다.

오래 전에 코드를 특징 짓는 숙어 (형식화 된 방식)를 인식하기 시작하고 결국 저자의 사고 방식을 발견하게됩니다. 그러면 모든 것이 훨씬 간단해질 것입니다.

바닥에 앉아서 주변을 돌아 다니며 랩톱 + Google을 사용하면 이상한 것을 해독 할 수 있습니다. 또한 : 색깔 형광펜 펜 FTW.

소스를 이해하는 데 최소한 두 번 이상이되어야합니다. 처음으로 미세한 부분을 이해하려고 시도하지 마십시오. 데이터가있는 곳과 실행되는 곳, "움직임"에 대한 느낌을 갖도록하십시오. 그러면 코드의 정신 모델을위한 프레임 워크가 생깁니다. 다음 번에 진행하면 세부 사항을 세분화 할 수 있지만 하향식 방식을 사용하면 항상 나를 편하게 만듭니다.

기술, 언어 또는 환경에 익숙하지 않은 경우 주변에 책이 있는지 확인할 수 있습니다. 현실 세계에는 컴퓨터 화면에 적합 할 수있는 공간과 노트북에서 Google을 사용하는 것, 책에서 구문/라이브러리를 참조하는 것, 그리고 주위에있는 코드가 전체 프로세스를 만드는 것보다 훨씬 더 눈에 잘 띄는 공간이 있습니다. 매우 간단합니다.

1

쌍 프로그래밍. 경험이있는 사람과 코드를 작업하십시오. 그 또는 그녀를 돕는다; 그 또는 그녀가 당신을 돕도록하십시오.보다 숙련 된 개발자의 코드를 작업하면서 경험 많은 개발자가 알고 있기 때문에 코드의 중요한 부분을 배웁니다. 막 다른 골목을 쫓는 대신 숙련 된 개발자에게 가까운 소프트웨어의 정신 모형을 개발할 것입니다. 쌍.

0

시험을 치른 경우 시험을 치르십시오. 그렇지 않다면 글을 쓰십시오.

+0

코드 기반을 이해할 때까지는 테스트를 작성하지 마십시오. 나는 그것이 재앙이 될 수 있다고 생각한다. –

0

선생님이 이전에 Classname, 메소드 이름 및 회원 이름 만 가진 "클래스 다이어그램"이라고 지칭했던 것을 인쇄 해 두는 것이 좋습니다. 그런 다음 시트를 테이블/벽면에 배치하고 어떤 Class와 어떤 Class 대화를하는지, 어떤 Method가 어떤 Method와 대화하는지 등을 찾습니다. 화살표와 클래스/방법을 연결합니다. 코드에 대한 느낌을 갖도록 노력하십시오. 처음에는 코드 줄이 무엇인지 이해하는 것이 중요하지 않지만 메서드/클래스가 수행해야하는 기본 데이터 흐름을 이해할 수 있어야합니다.

관련 문제