깃허브 내 오픈소스 코드 분석하는법 총 정리 - 순서대로만 따라하면 이해되는 오픈소스코드 분석
1. 배경지식을 갖출 것
정렬이라던가 검색같은데 특정 알고리즘을 사용했다면,
해당 알고리즘의 작동원리 이해하고 난 후 분석하는 것이 효율적이다.
만약 해당 지식이 없이 코드로만 이해하려고 한다면, 비효율적인 시간이 수반된다.
또한, 분석하려는 오픈소스의 도메인이 본인의 관심사에 부합해야한다.
관심도 없는 오픈소스를 분석하려면 재미가 없어서 고문이 아닐까...?
2. 큰 그림을 보자
각각의 파일 내 개별 함수부터 파악하기보다는, 먼저 튜토리얼의 문서 및 관련 md 를 먼저 살펴본다.
오픈소스이므로 소스트리를 막 만들어놓지는 않았기 때문에 (대부분 그럼),
소스트리의 구조와 문서를 비교해가며 소스코드의 큰 그림을 파악한다.
프로젝트 구조 파악이 우선!
왜 이 코드의 기능을 이렇게 설계했을까를 생각하며 파악하자.
3. 디버거 breakpoint 활용
큰 그림을 파악하고 소스코드를 실행시켰을 때
breakpoint 기능을 이용하여 step 단위로 실행하면서 각 변수의 변화 상태를 확인.
확인해서 소스코드의 실행순서 파악하기
4. 문서화
머리에만 담고 있으면 분명 기억이 휘발된다.
파일 내 주석으로 달고 찾아낸 사실을 문서로 만들자 (ppt, flowchart, 구성도, 마인드맵 등등)
그림 그리면서 구조 파악이 더 잘됨. 팩트
5. 생각 정리
소스코드를 작성한 사람의 패턴을 보면서,
나라면 어떻게 짰을까?
이 코드를 어떻게 하면 개선할 수 있을까?
를 생각해보면서 내 방식의 코드대로 migration 해보자!
해당 방식 활용해서 관심있는 도메인 정리 중
1편
https://timmer.tistory.com/351
freqtrade 오픈소스 코드 분석해보기! 비트코인 투자 자동화 오픈소스 프로젝트
개요최근에 관심이 있는 분야이기도하고 회귀 분석 쪽으로도 접목시킬 수 있는 장점이 있어서오픈소스 컨트리뷰터 및 프로그램 개발을 위해 해당 오픈소스 분석 시작! 최근 정리한 오픈소스
timmer.tistory.com
코드 빠르게 찾기 팁
https://docs.github.com/ko/search-github/searching-on-github/searching-code
코드 (레거시) 검색 - GitHub Docs
코드 검색 API를 사용하는 경우에만 레거시 코드 검색 구문을 사용할 필요가 있습니다.
docs.github.com
Refs
https://development-crow.tistory.com/21
[IT 기술] 오픈소스 분석 방법과 개발자 공부 방법
[IT 기술] 오픈소스 분석 방법 안녕하세요. 개발자 개발 까마귀입니다. 오늘은 개발 초보자와 그리고 공부법을 모르는 주니어 개발자한테 추천드리는 글입니다. ㅎㅎ 이 글을 작성을 한 이유는 OK
development-crow.tistory.com
https://fishpoint.tistory.com/1097
소스코드 분석, 코드 리뷰 분석 방법 모아봤습니다.
소스코드 분석은 정말 어려운 일입니다. 그러니 오죽하면 분석보다 새로 짜는게 더 쉽다는 말이 나오기도 하고요. 그러나 소스를 본다는것은 새로운 철학을 만나는 것이라고 봅니다. 오래된 코
fishpoint.tistory.com
오픈소스: 코드 분석 어떻게 하나? | Popit
Hadoop이나 HBase 등과 같은 솔루션은 문서도 부족하지만 문서로만 설명할 수 없는 복잡한 내용으로 구성되어 있는 솔루션이 많습니다. 따라서 제대로 솔루션을 사용하거나 운영하기 위해서는 소
www.popit.kr
https://velog.io/@qksud14/jrdev-02
스타트업 신입 개발일지(02 : 소스 코드 분석하기)
제대로된 코드를 만들기 위해서는 제대로된 코드를 많이 읽어보면 된다.기존에 사용하는 라이브러리나 플러그인의 코드를 읽어라인상깊었던 소프트웨어 코드를 읽어라존경하는 사람이 만든
velog.io