크거나 알려지지 않은 코드베이스에서 길을 잃은 적이 있습니까? 이 도구는 이 문제를 해결하는 데 도움이 될 것입니다. 또한 개발 속도를 높이고 애플리케이션 아키텍처에 대한 더 많은 지식을 제공합니다.
이 프로젝트가 마음에 드신다면 Twitter @bliashenko에서 저를 팔로우하여 제가 만들고 있는 것들에 대해 들어보세요.
독립 실행형 애플리케이션으로 이 프로젝트의 새 버전을 확인하세요. 몇 번의 클릭만으로 보다 효율적인 방법으로 코드베이스 탐색을 시작하고, 대화형 시각적 가이드를 만들고, 이를 자신의 블로그에서 다른 사람들과 공유할 수 있습니다! 여기에서 빠른 가이드를 참조하세요.
여기에서 실행되는 독립형 버전 에 대해 준비된 예를 확인하세요.
어떻게 작동하나요? 코드베이스에 대해
codecrumbs
명령을 실행하면 소스 코드를 분석하고 시각적 표현을 구축합니다. codecrumb-comment를 작성하면 코드베이스 상태가 브라우저의 시각적 클라이언트에 즉시 반영됩니다.자세한 내용은 React-Finland에서 제가 한 강연을 확인해 보세요.
전제 조건:
NodeJS
버전을 8.11.1 이상으로 업데이트/설치
codecrumbs
설치( yarn global add codecrumbs
)codecrumbs -d project-src-dir -e project-src-dir/index.js
실행합니다. 프로젝트에 맞게 매개변수를 변경하세요. -d
소스 코드가 있는 디렉터리 이고, -e
진입점 파일 입니다. CLI 매개변수를 사용하여 codecrumbs를 실행하거나 정적 구성 파일 codecrumbs.config.js
지정합니다(여기 예시 참조).
CLI | 구성 파일 | 설명 | 예 |
---|---|---|---|
d | projectDir | 프로젝트 소스 코드 디렉터리의 상대 경로 | -d src |
e | entryPoint | 프로젝트 소스 진입점 파일의 상대 경로( dir 내부에 있어야 함) | -e src/app.js |
x | excludeDir | 제외할 디렉터리의 상대 경로(또는 , 로 구분된 경로) | -x src/doc,src/thirdparty |
p | clientPort | Codecrumbs 클라이언트용 포트(선택 사항, 기본값은 2018 ) | -p 2019 |
n | projectNameAlias | 프로젝트 이름 별칭(선택 사항, 기본값은 -d 값과 동일) | -n my-hello-world |
C | - | codecrumbs.config.js 경로(선택 사항, 기본적으로 PWD에서 파일을 찾으려고 시도함) | -C config/codecrumbs.config.js |
D | debugModeEnabled | 로그에 대한 디버그 모드 활성화(선택 사항, 기본값은 false ) | -D |
UI 설명:
거기에 가는 방법?
//cc:[parameters;]
주석을 적어 코드에 이동 경로를 남겨주세요.
cc
("CodeCrumb"를 나타냄)는 파서가 사용하는 접두사입니다. 아래 표에서 매개변수의 예를 확인하세요.
예 | 설명 | 사용 사례 |
---|---|---|
//cc:remember place | 간단한 탐색경로, remember place . | 중요한 장소를 표시하여 어디에 있었는지 잊지 마세요. |
//cc:here is bug;well, seems like a bug in logic | 간단한 이동 경로는 well, seems like a bug in logic . 이동 경로에 대한 세부 정보는 ; 로 구분됩니다. | 추가 정보를 추가하면 팝업으로 렌더링됩니다. |
//cc:signin#3;enable route | trail of breadcrumbs, signin 은 trail ID , #3 은 단계의 주문 번호 , enable route 는 단계를 설명하는 제목입니다. | 일부 데이터 흐름(예: 사용자 로그인, 양식 제출 등)을 설명하는 데 사용되는 일련의 코드크럼입니다. |
//cc:signin#1;firebase sign in;+2;do call to firebase with credentials | 이동 경로의 흔적, +2 강조 표시할 줄 수이며 ; 로 구분됩니다. | 줄 수를 사용하여 이동 경로와 관련된 코드 강조 표시 |
참고: 현재 버전은 한 줄 주석만 지원합니다.
힌트: 단계 번호 없이 트레일 ID(예:
//cc:groupname#;test
)를 사용하여 탐색경로를 그룹화할 수 있습니다. 올바른 순서를 알고 나면 나중에 언제든지 단계 번호를 추가할 수 있습니다.
여러 코드베이스(하위 모듈) 간의 연결을 연구하는 데 관심이 있을 수 있으며, codecrumbs는 이를 지원합니다. 간단히 codecrumbs를 여러 번(각 코드베이스에 대해 한 번) 시작하면 브라우저 탭 내에서 하나의 그림으로 모두 동기화됩니다 . 다이어그램 UI를 제어하려면 클릭하여 선택하세요.
예를 들어 클라이언트-서버 애플리케이션의 경우 서버 코드의 소스 디렉터리로 이동하여 codecrumbs -e your-server-src/index.py -d your-server-src
실행합니다. 클라이언트 codecrumbs -e src-client/index.js -d src-client
.
참고: 코드베이스는 원하는 곳에 위치할 수 있습니다(모노 저장소 등을 가질 필요 없음 ). 필요한 디렉터리에 대해
codecrumbs
실행하기만 하면 됩니다.
현재 버전은 다음 프로그래밍 언어를 지원합니다.
C#
C++
Fortran
Go
Haskell
Java
JavaScript
Kotlin
PHP
Python
Ruby
TypeScript
원하는 다른 언어를 지원하려면 문제를 제출하세요.
참고: 현재 버전에서는 [JavaScript, TypeScript]에서만 이 기능을 제공합니다.
UI 설명:
참고: 현재 버전에서는 JavaScript만 이 기능을 제공합니다.
js2flowchart는 사이드바에서 선택한 파일 코드에 대한 순서도를 그리는 데 사용됩니다.
어떤 지원이라도 대단히 감사하겠습니다! ? ? ❤️ 이 프로젝트가 마음에 드셨다면 를 올리고 트윗해주세요 . 감사해요!
재정적 기부를 고려해보세요. 더 멋진 기능을 개발하는 데 도움이 될 것입니다! 여기에 귀하의 이름/회사 로고를 포함시켜 주시면 감사하겠습니다.
0+X에서 지원하는 개발
이 저장소에 기여할 때 변경하기 전에 먼저 이 저장소의 소유자와 문제, 이메일 또는 기타 방법을 통해 수행하려는 변경 사항에 대해 논의하십시오. 아이디어와 제안을 환영합니다. 개발 환경을 시작하려면 저장소를 복제하고 다음을 실행하세요.
yarn && yarn start
다음 기능이 개발 중입니다.