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
'클라우드\서버' 카테고리의 다른 글
피씨방에서 로그인만 하면 개인정보 털리는 이유 (http, https 차이) (6) | 2024.10.26 |
---|---|
우분투 서버 공장초기화 하는 법 + .sh 파일로 한번에 실행 (0) | 2024.07.04 |
Docker Volume 적용 및 docker-compose 적용하는법. Docker volume이란? 왜 쓸까? (0) | 2024.06.18 |
docker 우분투에 sh 로 한번에 설치하기 (docker, docker-compose) 포함 (0) | 2024.06.07 |
자주 쓰는 도커 명령어 정리하기 - 도커 이미지 한번에 지우기, 도커 실행 한번에 종료 등 등 (0) | 2024.05.22 |