gouml로 go 프로젝트의 UML 다이어그램 출력

3178 단어 5uml
go 프로젝트 종속성을 그래프로 시각화할 수 있는 도구로는 kisielk/godepgraphpaulbuis/golistdepgraph이 있지만, 그 입도는 조금 거친 것이었습니다. (패키지간의 의존을 해석)

거기에 고작과 등장한 것이 카즈코 센 / 고우 ml입니다.

Go의 코드를 정적 분석하여 DDD 패턴과 같은 PlantUML을 생성하는 도구를 만들기 시작했습니다. 따끈따끈 개발해 가고 싶습니다 htps // t. 코/엣 ydV로코 V — 니한맨 (@one_meets_seven) 2019년 4월 11일

go 프로젝트를 구문 분석하고 uml 파일을 출력하는 훌륭한 도구로, 실제로 출력해 본 그림은 이런 느낌이 듭니다. UML이네요~



아래에서 명령을 실행하여 이미지로 저장하는 곳까지를 소개합니다.

설치


go get -u github.com/kazukousen/gouml/cmd/gouml

gouml을 실행하고 uml 파일을 출력합니다.


gouml init

대상 디렉토리를 지정하려면 -d or --dir를 지정합니다.
gouml init -d ./src/

출력할 uml 파일 이름을 지정하려면 -o or --out를 지정합니다.
gouml init -o xxxx

uml 파일을 이미지 파일로 변환



몇 가지 방법이 있지만 gouml은 표준 http://plantuml.com/plantuml/svg/으로 시작하는 다이어그램을 표시하는 링크를 출력합니다. 이것을 여는 가장 쉬운 방법입니다.



또는 로컬 plantuml 명령을 사용할 수 있습니다.
brew install plantuml
brew install graphviz
brew install gnu-sed
cat xxxx.uml | gsed  '1i @startuml' | gsed '$a @enduml' > xxxx.pu
plantuml -tpng xxxx.pu

여기서 xxxx.png라는 이미지가 생성되었을 것입니다. 확인해 주세요.

주1: 출력되는 png 파일에 대해서, 디폴트에서는 종횡 모두 4096에 제한되어 있습니다.



이미지에 전체 uml 다이어그램이 들어 있지 않은 경우 다음 환경 변수를 기억하십시오.
echo 'export PLANTUML_LIMIT_SIZE=32768' >> ~/.bash_profile

주2: 현재 상황에서는 특정 조건 하에서 그래프가 조금 슬픈 느낌이 될 수 있습니다.
엄청난 기세로 개발되고 있어, 이하의 문제도 폭속으로 해소되었습니다.

내가 만난 것은 string 형의 글로벌 변수가 선언되어있는 경우 이에 대처하는 패치를 일단 던져 놓았습니다.

좋은 웹페이지 즐겨찾기