Documentazione eseguibile

6

Mi piace asciidoc , risp. asciidoctor , a scopo di documentazione. È molto meglio di MS Word e si integra meglio con il controllo del codice sorgente rispetto a strumenti come Confluence.

Inoltre, sono a conoscenza degli strumenti che consentono di scrivere parti eseguibili all'interno della documentazione di asciidoc. Ad esempio, il codice PlantUML può essere incluso nel documento ed eseguito per integrare l'immagine renderizzata nella documentazione. Più verso la mia domanda, qualcosa come JQAssistant ci consente di scrivere regole eseguibili come parte della documentazione. Questo tipo di programmazione letterale è davvero bello per documentare le regole insieme a quelle regole di esecuzione e aiuta molto a non ottenere documentazione obsoleta.

La mia domanda non è necessariamente limitata a asciidoc (tor), ma ispirata a quanto sopra. Se esiste una soluzione tramite asciidoc, sono piuttosto interessato a scoprirlo.

Quello che vorrei essere in grado di fare è scrivere documenti di processo aziendali in uno stile di programmazione che possa essere eseguito per supportare il processo documentato.

Penso che sia meglio spiegarlo con un esempio o due:

  • Il processo documentato ci dice che quando si inizia un progetto, dobbiamo compilare il modulo X e posizionarlo nella cartella Y (o sotto controllo di versione, o qualsiasi altra cosa). Attualmente, questo significa che qualcuno legge un PDF, quindi va altrove per cercare il modulo X , lo copia nel suo spazio di lavoro, lo modifica e lo salva in una cartella appena creata Y . Mi piacerebbe essere in grado invece di eseguire direttamente la documentazione in modo tale che l'ultima forma X copia sia inserita nella cartella Y e forse anche un editor sia direttamente aperto.

  • Il processo documentato spiega che una versione deve essere taggata e le risorse X , Y e Z devono essere inserite in una cartella di archiviazione F . Di nuovo, questo può essere fatto manualmente, o idealmente, direttamente eseguito da quella documentazione.

La mia domanda si riduce a due parti: è qualcosa di simile anche attualmente disponibile e, in caso affermativo, fino a che punto possiamo prenderlo?

Posso vedere diverse limitazioni problematiche, naturalmente. Ad esempio, la codifica automatica della versione sopra citata richiederebbe una sorta di input (numero di versione). Avresti inoltre bisogno di un modo per decidere quali parti di una documentazione più lunga eseguire, se ad esempio contiene entrambe le descrizioni di cui sopra.

L'obiettivo generale è realistico? Qualcuno ha esperienza con un tale approccio o anche le migliori pratiche? Come andresti a introdurre qualcosa di simile?

    
posta Frank 13.10.2016 - 10:22
fonte

2 risposte

6

I would like to be able to instead directly execute the documentation such that the latest form X copy is placed into folder Y and maybe even an editor is directly opened.

Questa non è documentazione, ma automatizza il tuo flusso di lavoro.

Un semplice web, wiki o qualsiasi pagina con un pulsante collegato a uno script e caselle di testo per riempire x e y può farlo. Se si integrano gli script con la base di codice o il sistema di emissione dei biglietti, è possibile che vengano rilevati automaticamente anche i valori per xey.

My question boils down to two parts: Is something like that even available currently and if so, how far can we take that?

Puoi prenderlo nel modo più appropriato. Automatizzare noiosi processi ripetitivi non è solo un bene per i tuoi utenti. È buono per te. Segui semplicemente la regola 80 20. Attenersi all'automazione della maggior parte del lavoro ripetitivo. Non inseguire ogni caso d'angolo.

Is the overall goal realistic?

Sì, se non portato lontano. Aspettatevi di aver bisogno di fare alcune cose manuali.

Does anyone have experience with such an approach, or even best-practices?

Sì, è tipico creare molti script per supportare un ambiente di sviluppo.

How would you go about introducing something like that?

Uno script, una pagina di documentazione alla volta.

    
risposta data 11.11.2016 - 07:14
fonte
1

Is the overall goal realistic?

Sì. Questo è ciò che le persone fanno oggi con Emacs usando org-mode babel , anche con accesso ai documenti su server remoti e integrazione tra diversi linguaggi di programmazione, nonché assembly di codice iterativo con sintassi noweb.

Ma sarà molto lavoro per renderlo buono. Ricorda la regola 80/20 estesa: l'80% delle persone utilizza solo il 20% delle funzioni, ma non lo stesso 20%.

Does anyone have experience with such an approach, or even best-practices?

Non scrivere programmi complessi. È ottimo per tutorial e istruzioni (almeno questa è l'esperienza di farlo per 5 anni con Emacs org-mode).

Potresti anche usare direttamente Emacs org-mode invece di far girare il tuo. Questa è la migliore pratica che seguo al giorno d'oggi. Una volta ho preferito Markdown su org-mode, ma org-mode vince chiaramente al potere.

    
risposta data 27.06.2018 - 18:03
fonte

Leggi altre domande sui tag