Открытая Swift-библиотека для создания UML‑диаграммы классов

Мощная открытая библиотека Swift позволяет разработчикам генерировать UML‑диаграммы классов из исходного кода Swift. Разработчики могут настраивать выводимую диаграмму и визуализировать архитектуру кода.

Что такое SwiftPlantUML?

В быстро меняющемся мире разработки программного обеспечения поддержание ясного понимания архитектуры вашего приложения имеет решающее значение. По мере роста сложности проектов визуализация взаимосвязей между классами, протоколами и другими компонентами становится необходимой. Разработчики программного обеспечения часто используют диаграммы UML (Unified Modeling Language) для визуализации и документирования структуры кода. SwiftPlantUML — это библиотека с открытым исходным кодом, автоматизирующая создание UML‑диаграмм классов из кода Swift, делая её незаменимым инструментом для разработчиков Swift. Это мощная библиотека, генерирующая скрипты PlantUML из кода Swift. PlantUML — это текстовый инструмент для создания UML‑диаграмм, включая диаграммы классов, последовательности и другие.

Разработанный Марко Эйдингером, SwiftPlantUML позволяет разработчикам генерировать UML‑диаграммы непосредственно из кода Swift, упрощая документирование и визуализацию структуры Swift‑проектов. SwiftPlantUML предоставляет возможности настройки, чтобы адаптировать сгенерированные UML‑диаграммы под конкретные потребности. Разработчики могут исключать определённые классы, корректировать макет или фильтровать отдельные элементы. Он извлекает структуры классов и их взаимосвязи из кода Swift и автоматически генерирует UML‑диаграммы. Благодаря поддержке широкого спектра типов Swift, настраиваемому выводу и бесшовной интеграции с Xcode, SwiftPlantUML является незаменимым дополнением к набору инструментов любого разработчика Swift.

Начало работы со SwiftPlantUML

Рекомендуемый способ установки библиотеки SwiftPlantUML — использовать Homebrew. Пожалуйста, выполните следующую команду для беспроблемной установки.

Установить SwiftPlantUML через Homebrew

brew install swiftplantuml

Установить SwiftPlantUML через Mint

$ mint install MarcoEidinger/SwiftPlantUML

Преобразовать Swift‑код в UML‑диаграммы

После установки вы можете использовать SwiftPlantUML для генерации скриптов PlantUML из вашего кода Swift. Вместо ручного создания диаграмм открытая библиотека SwiftPlantUML извлекает структуры классов и их взаимосвязи из кода Swift и автоматически генерирует UML‑диаграммы без каких-либо внешних зависимостей. Ниже приведён пример, показывающий, как разработчики могут создать скрипт PlantUML из данного кода, представляющего отношения между типами User, Admin и Authenticatable. Полученный скрипт можно отобразить в виде UML‑диаграммы с помощью редактора PlantUML.

Как сгенерировать скрипт PlantUML из данного кода с помощью Swift API?

import SwiftPlantUML

class User {
    var name: String
    var email: String

    init(name: String, email: String) {
        self.name = name
        self.email = email
    }
}

class Admin: User {
    func managePermissions() {
        print("Managing permissions...")
    }
}

protocol Authenticatable {
    func login()
    func logout()
}

extension Admin: Authenticatable {
    func login() {
        print("Admin logged in")
    }

    func logout() {
        print("Admin logged out")
    }
}

let generator = PlantUMLGenerator()
let plantUMLScript = generator.generate(from: User.self)
print(plantUMLScript)

Поддержка настраиваемого вывода

Библиотека SwiftPlantUML позволяет разработчикам программного обеспечения настраивать сгенерированные скрипты PlantUML в соответствии с их потребностями. Разработчики могут включать или исключать определённые типы, изменять взаимосвязи и настраивать расположение элементов диаграммы внутри Swift‑приложений. Ниже приведён пример, показывающий, как пользователи могут исключить класс Animal из сгенерированной диаграммы с помощью библиотеки Swift.

Как исключить конкретный класс из сгенерированной диаграммы, используя Swift API?

let options = PlantUMLOptions(exclude: ["Animal"])
let generator = PlantUMLGenerator(options: options)
let plantUMLScript = generator.generate(from: MySwiftClass.self)
Visualize Code Architecture

Визуализация архитектуры кода и совместной работы

Понимание взаимосвязей между классами, протоколами и структурами имеет решающее значение для создания масштабируемых приложений. Открытая библиотека SwiftPlantUML упрощает генерацию UML‑диаграмм, которые предоставляют четкое визуальное представление архитектуры вашего приложения, облегчая выявление потенциальных проблем и оптимизацию дизайна. Визуальные диаграммы упрощают коммуникацию и совместную работу команд. Делясь UML‑диаграммами, разработчики могут быстро согласовать решения по дизайну и определить области для улучшения.