Swift 코드에서 자동으로 UML 다이어그램을 생성하는 방법
확대 된 프로젝트를 이해하기 위해 클래스 다이어그램과 같은 다이어그램을 사용하면 유용합니다. Java라면 InteliJ Idea의 기능을 이용해 생성하는 등 방법이 있습니다만, Xcode나 App Code에는 Swift용의 그러한 기능은 유감스럽게 존재하지 않습니다. swiftuml 스크립트를 사용하여 PlantUML (텍스트 기반 UML 설명 언어)을 출력하면 PlantUML 소프트웨어를 사용하여 다이어그램을 볼 수 있습니다.
환경을 준비한다
swiftuml 실행 환경
zsh
brew install sourcekitten
brew install jq
PlantUML 실행 환경
또한 다이어그램을 그리려면 다음 명령이 필요합니다.
zsh
brew install graphviz
이 소프트웨어를 사용하지 않고 웹에서 그리는 시스템도 있습니다.
swiftuml 스크립트 실행
GitHub(palaniraja/swiftuml)에서 필요한 프로그램을 얻습니다. 많은 파일이 있지만 필요한 것은 다음 두 가지입니다.
이 두 가지를 적절한 위치에 놓습니다.
스크립트는 다음 명령으로 실행됩니다. 이 명령은 directory_name 이하의 계층 구조에있는 모든 .swift 파일을 대상으로 PlantUML을 생성하고 uml.txt에 내 보냅니다.
zsh
find directory_name | grep .swift | xargs -L 1 sh plantuml.sh | grep -v @enduml | grep -v @startuml >> uml.txt
필자의 환경에서는 Resources에 들어있는 swiftgen에 의해 생성 된 파일을 잘 처리 할 수 없었기 때문에 무시하도록했습니다.
zsh
find directory_name | grep .swift | grep -v Resources | xargs -L 1 sh plantuml.sh | grep -v @enduml | grep -v @startuml >> uml.txt
명령 보충 설명
PlantUML로 작성된 파일은 @startuml로 시작하고 @enduml로 끝납니다. 위의 명령은 읽은 swift 파일마다 이러한 키워드가 추가되어 버리기 때문에 일단 모두 삭제하고 있습니다. (| grep -v @enduml | grep -v @startuml 부분)
다이어그램 그리기
먼저 uml.txt 파일을 열고 파일의 첫 번째 줄에 @startuml을, 마지막 줄 뒤에 @enduml을 추가합니다. (방금전의 커멘드로 모두 지워 버렸기 때문에 추가할 필요가 있습니다.본래는 추가하기 위해서 sed 커멘드를 쓰고 싶었습니다만, mac라고 다소 어렵기 때문에 그만두었습니다)
공식 페이지에서 다운로드 한 java 앱을 실행하고 uml.txt를 선택하십시오.
다이어그램이 표시됩니다.
문제점 등
사용해 보니 다음과 같은 문제점이있었습니다. 해결책을 아시는 분 계시면 가르쳐 주시면 다행입니다.
사용해 보니 다음과 같은 문제점이있었습니다. 해결책을 아시는 분 계시면 가르쳐 주시면 다행입니다.
Reference
이 문제에 관하여(Swift 코드에서 자동으로 UML 다이어그램을 생성하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jyu0414/items/c4d387c31f983dba688e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)