facebook LinkedIn
Google Book Search
Прегледи

Документиране на софтуера. Инструменти за документация

от Курс за ССОК

Всеки проект, рано или късно, се нуждае от документация. В тази лекция ще разгледаме различни технологии и инструменти за документиране в Линукс.

Съдържание

Документация на приложенията

Помощ на командния ред

Дори приложенията с малко на брой опции изискват документация. Най-лесно това може да се направи като се добави кратко описание на различните опции и техните параметри в кода на самата програма. След като това е направено, чрез извикване на програмата с параметър --help текста ще бъде изведен на екрана.

Стандартната C библиотека използва функцията getopt, за обработка на опциите на командния ред. Помощни страници са налични на:

В езика Python по-често се използва модулът optparse:

#!/usr/bin/env python

from optparse import OptionParser

parser = OptionParser()
parser.add_option("-n", "--name", type="string", dest="name", help="Name of  person", default="World")
parser.add_option("", "--repeat", type="int", dest="repeat", help="How many times to repeat", default=1)
parser.add_option("", "--print-footer", action="store_true", dest="print_footer", help="Print header text", default=False)

(options,args) = parser.parse_args()

for i in range(0, options.repeat):
        print "Hello %s" % options.name

if options.print_footer:
        print "Message was printed %d times" % options.repeat

Python автоматично добавя опцията --help:

$ ./hello-world.py --help
usage: hello-world.py [options]

options:
  -h, --help            show this help message and exit
  -n NAME, --name=NAME  Name of person
  --repeat=REPEAT       How many times to repeat
  --print-footer        Print header text

Описанието на най-често използваните параметри на програмата е задължително на командния ред. За големи програми или такива при които работата зависи не само от един параметър се налага по-подробен текст. Той се предоставя в помощни страници наречени ръководства (от англ. manual pages).

Помощни страници

Страниците с ръководства се създават чрез използване на форматиращи езици. Те представляват текстови файлове (може компресирани), съдържащи текст и команди за неговото изобразяване. Програмите използвани за работа с тези страници включват функции като търсене, навигация между свързани страници(info), предложения по ключови думи и т.н.

Пример:

  • $ man man ще отвори помощната страница за програмата man, чрез програмата man
  • $ zcat /usr/share/man/man1/man.1.gz ще покаже истинското съдържание на файла

Двете най-често използвани програми/формата са info и man:

Други форматиращи езици

В Линукс се използват редица форматиращи езици за създаване на документация. В списъка по-долу са дадени някои от по известните:

  • TeX - създаден от Доналд Кнут
  • POD - състемата използвана в езика Perl и модулите към него. Виж perlpod.
  • DocBook - XML базиран език за форматиране. Използван в книгоиздателството. Виж publican. Четецът на помощни страници в GNOME, Yelp, отваря директно DocBook XML, info и man страници.

Списъкът съвсем не е изчерпателен, т.к. съществуват много формати и програми за конверсия между тях. Ако не сте сигурни за името пробвайте входен_формат2изходен_формат.

Пример:

man2html
docbook2dvi   
docbook2html  
docbook2man   
docbook2pdf   
docbook2ps    
docbook2rtf   
docbook2tex   
docbook2texi  
docbook2txt   
pdf2dsc  
pdf2ps
ps2ascii  
ps2epsi   
ps2frag   
ps2pdf    
ps2pdf12  
ps2pdf13  
ps2pdf14  
ps2pdfwr
ps2pk     
ps2ps
pod2html   
pod2latex  
pod2man    
pod2text   
pod2usage

Документация на изходния код

Съществуват различни решения за генериране на структурирана документация от коментарите в изходния код на програмата:

UML

Макар и рядко използвани в проектите с отворен код UML диаграми могат да се създават чрез програмата Umbrello. Разширен списък с инструменти за създаване на UML можете да намерите на: http://en.wikipedia.org/wiki/List_of_UML_tools

Локални линукс групи RSS
Дискусии