کتابخانه رایگان پایتون برای ایجاد و مدیریت نمودارهای Visio
کتابخانه منبع باز Visio پایتون به توسعهدهندگان امکان تولید نمودارهای کلاس در سینتکس PlantUML را میدهد و نمای بصری از کدهای پایتون ارائه میکند.
کتابخانه Py2pUML چیست؟
در توسعه نرمافزار مدرن، درک و مستندسازی ساختار کد برای نگهداری و همکاری حیاتی است. کتابخانه Py2pUML یک ابزار منبع باز است که به توسعهدهندگان کمک میکند تا بهصورت خودکار نمودارهای کلاس UML را از کد پایتون تولید کنند. این نمودارها روابط کلاسها، ویژگیها و وابستگیها را بهصورت بصری نشان میدهند و درک معماری یک پروژه را آسانتر میسازند. این کتابخانه از تولید نمودارهای UML برای پروژههای پایتون، تجسم سلسلهمراتب و روابط کلاسها، بهبود مستندات پروژه، ارتقاء همکاری تیمی با سادهسازی تحلیل ساختار کد و غیره پشتیبانی میکند. برای جلوگیری از عوارض جانبی احتمالی، py2puml در هنگام شناسایی روابط ترکیبی مقادیر یا عبارات اختصاص دادهشده را ارزیابی نمیکند. این انتخاب طراحی ایمنی و یکپارچگی فرآیند تحلیل کد را تضمین میکند.
Py2pUML یک کتابخانه منبع باز پایتون است که برای تولید خودکار نمودارهای UML از کد پایتون طراحی شده است. نمودارهای UML یک روش استاندارد برای تجسم ساختار و طراحی یک سیستم نرمافزاری هستند که شامل کلاسها، روابط و وابستگیها میشود. بهطور سنتی، ایجاد این نمودارها فرآیندی دستی و زمانبر بوده است. Py2pUML این کار را با تجزیه کد پایتون و تولید نمودارهای UML در قالب PlantUML ساده میکند، که سپس میتوانند به نمودارهای بصری رندر شوند. در حال حاضر، py2puml ممکن است بهطور مؤثر نکات نوع پیچیده با سطوح متعدد جنریک را مدیریت نکند. این محدودیت شناخته شده و بهبودهای آینده در نظر گرفته شدهاند. با پرداختن به این موارد، py2puml به عنوان ابزاری ارزشمند برای توسعهدهندگانی که به دنبال مستندسازی و تجسم معماری برنامههای پایتونی خود از طریق نمودارهای کلاس هستند، عمل میکند.
شروع کار با Py2pUML
روش پیشنهادی برای نصب کتابخانه Py2pUML استفاده از PyPI است. لطفاً برای نصب آسان از دستور زیر استفاده کنید.
نصب کتابخانه Py2pUML از طریق PyPI
pip install py2pumlنصب کتابخانه Py2pUML با استفاده از Poetry
poetry add py2pumlتولید نمودار UML از ماژول پایتون
کتابخانه منبع باز Py2pUML عملکرد کامل را فراهم کرده است که به توسعهدهندگان نرمافزار امکان میدهد نمودار کلاس PlantUML را برای هر ماژول پایتون تولید کنند. با استفاده از قابلیتهای بازرسی پایتون و حاشیهنویسی نوع، py2puml هم ویژگیهای استاتیک کلاس و هم فیلدهای دیتاکلاس را شناسایی میکند. این اطمینان میدهد که نمودارهای تولید شده بهدقت ساختار و ویژگیهای کلاسها در کدبیس را بازتاب میدهند. در اینجا یک مثال پایهای آورده شده است که نشان میدهد چگونه توسعهدهندگان میتوانند نمودار کلاس PlantUML را برای یک ماژول پایتون تولید کنند.
چگونه یک نمودار کلاس PlantUML برای یک ماژول پایتون تولید کنیم؟
from py2puml.py2puml import py2puml
# Generate PlantUML content
puml_content = py2puml('path/to/your/module', 'module_name')
# Output the PlantUML content to the terminal
print(''.join(puml_content))
# Write the PlantUML content to a file
with open('module_name.puml', 'w') as puml_file:
puml_file.writelines(puml_content)
تشخیص کلاسها و روابط
توسعهدهندگان میتوانند Py2pUML را در یک برنامه وب Flask یا Django ادغام کنند تا سرویس تولید UML را فراهم سازند. این ابزار کد پایتون را تجزیه و تحلیل میکند و نمودارهای UML را بدون نیاز به ورودی دستی تولید میکند. این ابزار کلاسها، ویژگیها، متدها و روابط را شناسایی میکند و بهسادگی امکان تجسم ساختار کد شما را فراهم میآورد. این API به کاربران اجازه میدهد یک ماژول پایتون را بارگذاری کنند و یک نمودار کلاس UML بهصورت فایل .puml قابل دانلود دریافت کنند. به مثال کد زیر توجه کنید؛ کتابخانه خروجی PlantUML را تولید میکند که شامل اطلاعات درباره کلاسها و روابط آنها خواهد بود.
چگونه خروجی PlantUML را از کد پایتون تولید کنیم؟
class Engine:
def start(self):
print("Engine started")
class Car:
def __init__(self, engine: Engine):
self.engine = engine
def drive(self):
self.engine.start()
print("Car is moving")
# Py2pUML will generate the following PlantUML output:
@startuml
class Engine {
+ start()
}
class Car {
- engine: Engine
+ drive()
}
Car --> Engine
@enduml
#This diagram shows that Car has a dependency on Engine.
سفارشیسازی کد و سهولت استفاده
کتابخانه Py2pUML به گونهای طراحی شده است که ساده و سرراست باشد. نیاز به تنظیمات کم دارد و میتواند به راحتی در جریان کار توسعه شما یکپارچه شود. به عنوان یک کتابخانه متنباز، Py2pUML میتواند برای برآورده کردن نیازهای خاص پروژه سفارشیسازی شود. توسعهدهندگان میتوانند مخزن را فورک کنند، کد را تغییر دهند و به توسعه آن کمک کنند. تغییر کد منبع برای سازگار کردن با نیازهای شما بسیار آسان است. برای مثال، میتوانید پشتیبانی از شناسایی و تجسم کلاسهای انتزاعی را اضافه کنید.
بهبود مستندسازی کد
نمودارهای UML راهی عالی برای مستندسازی کد شما هستند. آنها نمایشی واضح و مختصر از معماری سیستم ارائه میدهند و درک نحوه کار کد را برای سایر توسعهدهندگان (یا خود آیندهتان) آسانتر میسازند. Py2pUML میتواند در جریان کار مستندسازی شما یکپارچه شود تا بهصورت خودکار نمودارهای بهروز تولید کند.