깃허브 내 오픈소스 코드 분석하는법 총 정리 - 순서대로만 따라하면 이해되는 오픈소스코드 분석
1. 배경지식을 갖출 것
정렬이라던가 검색같은데 특정 알고리즘을 사용했다면,
해당 알고리즘의 작동원리 이해하고 난 후 분석하는 것이 효율적이다.
만약 해당 지식이 없이 코드로만 이해하려고 한다면, 비효율적인 시간이 수반된다.
또한, 분석하려는 오픈소스의 도메인이 본인의 관심사에 부합해야한다.
관심도 없는 오픈소스를 분석하려면 재미가 없어서 고문이 아닐까...?
2. 큰 그림을 보자
각각의 파일 내 개별 함수부터 파악하기보다는, 먼저 튜토리얼의 문서 및 관련 md 를 먼저 살펴본다.
오픈소스이므로 소스트리를 막 만들어놓지는 않았기 때문에 (대부분 그럼),
소스트리의 구조와 문서를 비교해가며 소스코드의 큰 그림을 파악한다.
프로젝트 구조 파악이 우선!
왜 이 코드의 기능을 이렇게 설계했을까를 생각하며 파악하자.
3. 디버거 breakpoint 활용
큰 그림을 파악하고 소스코드를 실행시켰을 때
breakpoint 기능을 이용하여 step 단위로 실행하면서 각 변수의 변화 상태를 확인.
확인해서 소스코드의 실행순서 파악하기
4. 문서화
머리에만 담고 있으면 분명 기억이 휘발된다.
파일 내 주석으로 달고 찾아낸 사실을 문서로 만들자 (ppt, flowchart, 구성도, 마인드맵 등등)
그림 그리면서 구조 파악이 더 잘됨. 팩트
5. 생각 정리
소스코드를 작성한 사람의 패턴을 보면서,
나라면 어떻게 짰을까?
이 코드를 어떻게 하면 개선할 수 있을까?
를 생각해보면서 내 방식의 코드대로 migration 해보자!
해당 방식 활용해서 관심있는 도메인 정리 중
1편
https://timmer.tistory.com/351
코드 빠르게 찾기 팁
https://docs.github.com/ko/search-github/searching-on-github/searching-code
Refs
https://development-crow.tistory.com/21
https://fishpoint.tistory.com/1097
https://velog.io/@qksud14/jrdev-02