개발자 관계

오픈소스 프로젝트에 어떻게 익숙해질까?

2018-10-03
개발자 관계
ko

당신에게 어떤 오픈소스 프로젝트를 사용해야 하는 과제가 있습니다. 또는 상사가 당신에게 무언가를 알아오라고 했습니다. 어떻게 시작할까요? 어떻게 착수할까요? 제 습관은 이렇습니다:

  1. 먼저, 해당 프로젝트의 블로그와 자료를 찾아 읽습니다. Google을 통해 어떤 프로젝트의 대략적인 소개 블로그를 찾을 수 있으며, 빠르게 읽어보면 프로젝트의 목적, 기능, 기본 사용에 대해 대략적으로 알 수 있습니다.

  2. 프로젝트 문서를 읽고, Getting started, Example 같은 문서에 중점을 둡니다. 여기서 프로젝트를 다운로드, 설치, 심지어 기본 사용하는 데 필요한 지식을 배웁니다.

  3. 해당 프로젝트가 이미 만들어진 example 프로젝트를 제공한다면, 먼저 시작 문서의 소개에 따라 example을 실행해 봅니다. 순조롭게 실행된다면 축하합니다, 좋은 시작을 했습니다. 문제가 발생하면 먼저 프로젝트의 FAQ 등 문서에서 답을 찾아봅니다. 다음으로, 문제(예: 예외 정보)를 키워드로 검색하여 관련 해결 방법을 찾습니다. 당신이 겪은 문제는 다른 사람도 겪었을 것이며, 친절한 친구가 해결 과정을 기록해 두었을 것입니다. 마지막으로, 문제를 프로젝트의 메일링 리스트에 제출하여 다른 사람들에게 도움을 요청할 수 있습니다. example을 성공적으로 실행하기 전까지는 example을 수정하려 하지 마세요.

  4. 첫 번째 example을 실행한 후, 당신의 이해와 필요에 따라 example을 수정하고, 고급 기능 등을 테스트해 봅니다.

  5. 기본 사용을 이해한 후, 프로젝트를 깊이 이해하기 시작해야 합니다. 예를 들어 프로젝트의 구성 관리, 고급 기능 및 모범 사례 등입니다. usually 잘 운영되는 프로젝트는 얕은 것부터 깊은 것까지의 사용자 가이드를 제공합니다. 이 가이드를 처음부터 끝까지 읽을 필요는 없고, 시간과 관심, 특히 당신의 과제 필요에 따라 주요 장을 중점적으로 읽고 메모합니다(evernote 추천).

  6. 시간이 허락한다면, 소스 코드에서 프로젝트를 빌드해 봅니다. usually 오픈소스 프로젝트는 빌드 가이드를 제공하여 개발, 디버깅 및 빌드 환경을 구축하는 방법을 안내합니다. 버전을 빌드해 봅니다.

  7. 시간이 허락하고 관심이 있다면, 소스 코드를 읽어 볼 수 있습니다:

(1) 소스 코드를 읽기 전에, 해당 프로젝트가 아키텍처와 설계 문서를 제공하는지 확인하고, 이 문서를 읽어 프로젝트의 대략적인 설계와 구조를 이해합니다. 그러면 소스 코드를 읽을 때 어디서 시작해야 할지 알 수 있습니다.

(2) 소스 코드를 읽기 전에, 반드시 프로젝트를 빌드하고 실행할 수 있어야 하며, 직관적인 느낌을 가져야 합니다.

(3) 소스 코드를 읽는 첫 단계는 주간을 파악하는 것입니다. 정상 실행되는 코드 호출 경로를 정리해 봅니다. 이것은 debug를 통해 실행 시 변수와 행동을 관찰할 수 있습니다. 소스 코드에 로그와 출력을 추가하면 소스 코드를 더 잘 이해하는 데 도움이 됩니다.

(4) 적절히 그림을 그려 소스 코드를 이해하는 데 도움을 받습니다. 주간을 정리한 후, 전체 흐름을 흐름도나 표준 UML 다이어그램으로 그려 기억과 다음 읽기에 도움을 받습니다.

(5) 관심 있는 “지간” 코드를 골라 읽습니다. 예를 들어 네트워크 통신에 관심이 있으면 네트워크 계층 코드를 읽고, 구현 세부 사항을 깊이 파고듭니다. 어떤 라이브러리를 사용했는지, 어떤 설계 패턴을 채택했는지, 왜 그렇게 했는지 등입니다. 가능하다면 세부 코드를 debug 합니다.

(6) 소스 코드를 읽을 때, 단위 테스트를 중시하고, 단위 테스트를 실행해 봅니다. 기본적으로 좋은 단위 테스트는 해당 코드의 기능과 경계를 명확히 설명합니다.

(7) 소스 코드를 익숙해진 후, 개선할 수 있는 부분을 발견하면, 에너지와 의지가 있다면 프로젝트 개발자에게 개선 의견이나 issue를 제기하고, 심지어 수정하고 구현하여 프로젝트 발전에 참여할 수 있습니다.

  1. usually 문서와 소스 코드를 읽은 후, 해당 프로젝트에 대해 비교적 깊이 이해하게 됩니다. 하지만 해당 프로젝트가 속한 분야에서, 관련 프로젝트와 자료를 더 검색해 보고, 다른 더 좋은 프로젝트나 솔루션이 있는지 확인할 수 있습니다. 넓이와 깊이 사이에서 균형을 잡습니다.

이상은 제 개인적인 몇 가지 습관이며, 저도 완전히 이대로 하지는 않습니다. 하지만 이 순서대로 하면 기본적으로 어떤 오픈소스 프로젝트를 비교적 효율적으로 학습하고 사용할 수 있습니다.

재게시 출처: 개발자 관계 »


Similar Posts

Content icon
Content