>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Python

Disegnare Diagrammi Chiari per la Documentazione con Simboli in ASCII Draw

Ogni volta che hai bisogno di disegnare un piccolo diagramma dell'architettura direttamente nel codice o in un file README, inizia la lotta con gli spazi. Cerchi di collegare due rettangoli con linee, aggiungi una freccia, sistemi una linea, e l'intero layout si sposta di tre caratteri a destra. Editor web come asciiflow a volte aiutano, ma trascinare il diagramma avanti e indietro nel browser diventa rapidamente tedioso.

Recentemente mi sono imbattuto nel progetto ASCII Draw dello sviluppatore Nokse22. È un'applicazione Linux nativa creata specificamente per disegnare diagrammi, tabelle e grafica testuale usando pseudografica.

Interfaccia di ASCII Draw

Perché uno sviluppatore dovrebbe disegnare con simboli

La grafica testuale nella documentazione ha un grande vantaggio: vive direttamente nel repository come testo normale. Per visualizzare un tale diagramma, non hai bisogno del rendering SVG, di immagini esterne o del supporto Mermaid dalla piattaforma di hosting. Il diagramma si apre in qualsiasi terminale, qualsiasi editor di testo, e con git diff puoi vedere immediatamente esattamente cosa è cambiato nell'architettura.

ASCII Draw fornisce una tela grafica familiare dove invece dei pixel lavori con una griglia di caratteri a spaziatura fissa. Disegni un blocco con il mouse, tracci una linea, aggiungi un'etichetta e copi il risultato direttamente negli appunti.

Cosa può fare l'applicazione

Ci sono abbastanza strumenti all'interno per la maggior parte dei compiti ingegneristici:

  • Rettangoli e blocchi. Sono disponibili diversi stili di bordo (linee singole, linee doppie, angoli arrotondati) e riempimento con un carattere selezionato.
  • Linee e frecce. Puoi disegnare linee cartesiane dritte a 90 gradi, connessioni a gradini tra blocchi e linee a mano libera.
  • Strutture ad albero e tabelle. Per elenchi di directory o strutture di entità ci sono modelli ad albero, e un generatore di tabelle aiuta ad allineare ordinatamente le colonne senza ricalcolare manualmente gli spazi.
  • Testo e font FIGlet. Il testo normale può essere trasformato in intestazioni decorative grandi se hai bisogno di creare una schermata di avvio per un'utilità console.
Processo di disegno
Tela e set di strumenti

Lavorare con il testo
Font e manipolazione delle etichette

Caratteri
Catalogo dei caratteri disponibili

Strumenti di disegno
Selezione dello stile delle linee

Esportazione
Salvataggio su file o copia negli appunti

Un plauso separato va alla gomma, allo strumento di riempimento e al comodo spostamento dei frammenti. Se hai bisogno di spostare un blocco leggermente più in basso, selezioni semplicemente l'area con una cornice e la trascini nella nuova posizione.

Sotto il cofano

Il progetto è scritto in Python 3.8+ usando lo stack grafico GTK4 e la libreria Libadwaita. L'applicazione si integra perfettamente nell'ambiente GNOME, supporta i temi di sistema e le scorciatoie da tastiera.

Per la generazione di testo stilizzato, l'autore ha collegato pyfiglet, e per un set di caratteri esteso ha usato la libreria emoji. Il progetto ha una licenza aperta — GPL v3.0.

Dove questo torna utile nella pratica

  1. Formattazione di README e note sull'architettura nel repository.
  2. Commenti su sezioni di codice complesse (ad esempio, un diagramma di una macchina a stati finiti o un formato di pacchetto binario).
  3. Prototipazione di interfacce per applicazioni TUI.
  4. Manutenzione di note tecniche in basi di conoscenza in testo normale e markdown.

Come installare e provarlo

Il modo più semplice per gli utenti Linux è installare il pacchetto da Flathub:

flatpak install flathub io.github.nokse22.asciidraw
flatpak run io.github.nokse22.asciidraw

Se vuoi compilare il progetto da sorgente o apportare modifiche, basta clonare il repository:

git clone https://github.com/Nokse22/ascii-draw.git
cd ascii-draw

Dopo di che, il progetto può essere aperto nell'ambiente GNOME Builder e avviato con un pulsante.

Se lavori su Linux e scrivi spesso documentazione direttamente nel codice, ASCII Draw vale la pena di tenerlo a portata di mano. È uno strumento specializzato ordinato che risolve un compito specifico e fa risparmiare tempo quando si disposizionano i diagrammi. La principale limitazione del progetto oggi è il suo focus sull'ecosistema GNOME e Linux, quindi gli utenti macOS e Windows dovranno trovare altre opzioni o eseguire l'utilità attraverso la virtualizzazione.

Progetti correlati