ÐенеÑаÑÐ¾Ñ Ð´Ð¾ÐºÑменÑаÑии
ÐенеÑаÑÐ¾Ñ Ð´Ð¾ÐºÑменÑаÑии â пÑогÑамма или Ð¿Ð°ÐºÐµÑ Ð¿ÑогÑамм, позволÑÑÑÐ°Ñ Ð¿Ð¾Ð»ÑÑаÑÑ Ð´Ð¾ÐºÑменÑаÑиÑ, пÑедназнаÑеннÑÑ Ð´Ð»Ñ Ð¿ÑогÑаммиÑÑов (докÑменÑаÑÐ¸Ñ Ð½Ð° API) и/или Ð´Ð»Ñ ÐºÐ¾Ð½ÐµÑнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей ÑиÑÑемÑ, по оÑобÑм обÑазом комменÑиÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ ÐºÐ¾Ð´Ñ Ð¸, в некоÑоÑÑÑ ÑлÑÑаÑÑ , по иÑполнÑемÑм модÑлÑм (полÑÑеннÑм на вÑÑ Ð¾Ð´Ðµ компилÑÑоÑа).
ÐбÑÑно генеÑаÑÐ¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÑÐµÑ Ð¸ÑÑ Ð¾Ð´Ð½Ñй код пÑогÑаммÑ, вÑделÑÑ ÑинÑакÑиÑеÑкие конÑÑÑÑкÑии, ÑооÑвеÑÑÑвÑÑÑие знаÑимÑм обÑекÑам пÑогÑÐ°Ð¼Ð¼Ñ (Ñипам, клаÑÑам и Ð¸Ñ Ñленам/ÑвойÑÑвам/меÑодам, пÑоÑедÑÑам/ÑÑнкÑиÑм и Ñ. п.). Ð Ñ Ð¾Ð´Ðµ анализа Ñакже иÑполÑзÑеÑÑÑ Ð¼ÐµÑа-инÑоÑмаÑÐ¸Ñ Ð¾Ð± обÑекÑÐ°Ñ Ð¿ÑогÑаммÑ, пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² виде докÑменÑиÑÑÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑиев. Ðа оÑнове вÑей ÑобÑанной инÑоÑмаÑии ÑоÑмиÑÑеÑÑÑ Ð³Ð¾ÑÐ¾Ð²Ð°Ñ Ð´Ð¾ÐºÑменÑаÑиÑ, как пÑавило, в одном из обÑепÑинÑÑÑÑ ÑоÑмаÑов â HTML, HTMLHelp, PDF, RTF и дÑÑÐ³Ð¸Ñ .
СодеÑжание |
[пÑавиÑÑ] ÐокÑменÑиÑÑÑÑие комменÑаÑии
ÐокÑменÑиÑÑÑÑий комменÑаÑий â ÑÑо оÑобÑм обÑазом оÑоÑмленнÑй комменÑаÑий к обÑекÑÑ Ð¿ÑогÑаммÑ, пÑедназнаÑеннÑй Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°ÐºÐ¸Ð¼-либо конкÑеÑнÑм генеÑаÑоÑом докÑменÑаÑии. ÐÑ Ñого, какой генеÑаÑÐ¾Ñ Ð´Ð¾ÐºÑменÑаÑии пÑименÑеÑÑÑ, завиÑÐ¸Ñ ÑинÑакÑÐ¸Ñ ÐºÐ¾Ð½ÑÑÑÑкÑий, иÑполÑзÑемÑÑ Ð² докÑменÑиÑÑÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑиÑÑ .
РдокÑменÑиÑÑÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑиÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± авÑоÑе кода, опиÑÑваÑÑÑÑ Ð½Ð°Ð·Ð½Ð°Ñение обÑекÑа пÑогÑаммÑ, ÑмÑÑл Ð²Ñ Ð¾Ð´Ð½ÑÑ Ð¸ вÑÑ Ð¾Ð´Ð½ÑÑ Ð¿Ð°ÑамеÑÑов â Ð´Ð»Ñ ÑÑнкÑии/пÑоÑедÑÑÑ, пÑимеÑÑ Ð¸ÑполÑзованиÑ, возможнÑе иÑклÑÑиÑелÑнÑе ÑиÑÑаÑии, оÑобенноÑÑи ÑеализаÑии.
ÐокÑменÑиÑÑÑÑие комменÑаÑии, как пÑавило, оÑоÑмлÑÑÑÑÑ ÐºÐ°Ðº многоÑÑÑоÑнÑе комменÑаÑии в ÑÑиле ÑзÑка Си. Ркаждом ÑлÑÑае комменÑаÑий должен наÑ
одиÑÑÑÑ Ð¿ÐµÑед докÑменÑиÑÑемÑм ÑлеменÑом. ÐеÑвÑм Ñимволом в комменÑаÑии (и внаÑале ÑÑÑок комменÑаÑиÑ) должен бÑÑÑ *. Ðлоки ÑазделÑÑÑÑÑ Ð¿ÑÑÑÑми ÑÑÑоками.
ÐÑÐ¸Ð¼ÐµÑ Ð´Ð¾ÐºÑменÑиÑÑÑÑего комменÑаÑÐ¸Ñ Ð½Ð° ÑзÑке PHP:
/**
* ÐÐ¼Ñ Ð¸Ð»Ð¸ кÑаÑкое опиÑание обÑекÑа
*
* РазвеÑнÑÑое опиÑание
*
* @имÑ_деÑкÑипÑоÑа знаÑение
* @return Ñип_даннÑÑ
*/
| СпиÑок деÑкÑипÑоÑов phpDocumentor | ||
|---|---|---|
| ÐеÑкÑипÑÐ¾Ñ | ÐпиÑание | ÐÑÐ¸Ð¼ÐµÑ |
@author |
ÐвÑÐ¾Ñ |
/**
* Sample File 2, phpDocumentor Quickstart
*
* Файл из докÑменÑаÑии к phpDocumentor
* демонÑÑÑиÑÑÑÑий ÑпоÑÐ¾Ð±Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑиÑованиÑ.
* @author Greg Beaver <cellog@php.net>
* @version 1.0
* @package sample
* @subpackage classes
*/
|
@version |
ÐеÑÑÐ¸Ñ ÐºÐ¾Ð´Ð° | |
@package |
УказÑÐ²Ð°ÐµÑ Ð¿Ð°ÐºÐµÑ Ðº коÑоÑÐ¾Ð¼Ñ Ð¾ÑноÑиÑÑÑ ÐºÐ¾Ð´ | |
@subpackage |
УказÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð´Ð¿Ð°ÐºÐµÑ | |
@global |
ÐпиÑание глобалÑнÑÑ Ð¿ÐµÑеменнÑÑ |
/** * DocBlock Ð´Ð»Ñ Ð³Ð»Ð¾Ð±Ð°Ð»Ñной пеÑеменной * @global integer $GLOBALS['myvar'] далее Ð¸Ð´ÐµÑ ÑÑнкÑÐ¸Ñ Ñ Ñ Ð³Ð»Ð¾Ð±Ð°Ð»Ñной пеÑеменной * или глобалÑÐ½Ð°Ñ Ð¿ÐµÑеменнаÑ, в ÑÑом ÑлÑÑае Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑказаÑÑ ÐµÐµ Ð¸Ð¼Ñ * @name $myvar */ $GLOBALS['myvar'] = 6; |
@name |
ÐмÑ, меÑка | |
@staticvar |
ÐпиÑание ÑÑаÑиÑеÑÐºÐ¸Ñ Ð¿ÐµÑеменнÑÑ |
/**
* @staticvar integer $staticvar
* @return возвÑаÑÐ°ÐµÑ Ñелое знаÑение
*/
|
@return |
ÐпиÑание возвÑаÑаемого знаÑÐµÐ½Ð¸Ñ | |
@todo |
ÐамеÑки Ð´Ð»Ñ Ð¿Ð¾ÑледÑÑÑей ÑеализаÑии. |
/**
* DocBlock Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñми ÑпиÑками
* @todo ÐÑоÑÑой TODO ÑпиÑок
* - item 1
* - item 2
* - item 3
* @todo ÐложеннÑй TODO ÑпиÑок
* <ol>
* <li>item 1.0</li>
* <li>item 2.0</li>
* <ol>
* <li>item 2.1</li>
* <li>item 2.2</li>
* </ol>
* <li>item 3.0</li>
* </ol>
*/
|
@link |
СÑÑлка |
/**
* ÐÑо пÑÐ¸Ð¼ÐµÑ {@link http://www.example.com вÑÑÑоенной гипеÑÑÑÑлки}
*/
|
@deprecated (@deprec) |
ÐпиÑание ÑÑÑаÑевÑего блока |
/**
* @deprecated опиÑание
* @deprec Ñиноним Ð´Ð»Ñ deprecated
*/
|
@example |
ÐÑÐ¸Ð¼ÐµÑ |
/**
* @abstract
* @access public или private
* @copyright ÐÐ¼Ñ Ð´Ð°Ñа
* @example /path/to/example
* @ignore
* @internal закÑÑÑÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð´Ð»Ñ ÑпеÑиалиÑÑов
* @param Ñип [$varname] опиÑание вÑ
одного паÑамеÑÑа
* @return Ñип опиÑание возвÑаÑаемого знаÑениÑ
* @see Ð¸Ð¼Ñ Ð´ÑÑгого ÑлеменÑа (ÑÑÑлка)
* @since веÑÑÐ¸Ñ Ð¸Ð»Ð¸ даÑа
* @static
*/
|
@see |
СÑÑлка на дÑÑгое меÑÑо в докÑменÑаÑии | |
| ÐÑÑгие деÑкÑипÑоÑÑ | ||
@copyright ⢠@license ⢠@filesource ⢠@category ⢠@since ⢠@abstract ⢠@access ⢠@example ⢠@ignore ⢠@internal ⢠@static ⢠@throws ⢠@uses ⢠@tutorial |
||
ÐÑÐ¸Ð¼ÐµÑ Ð´Ð¾ÐºÑменÑиÑÑÑÑего комменÑаÑÐ¸Ñ Ðº ÑÑнкÑии в пÑогÑамме на Java, пÑедназнаÑенного Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Javadoc:
/** * ÐÑовеÑÑеÑ, допÑÑÑимÑй ли Ñ Ð¾Ð´. * ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð´Ð°ÑÑ Ñ Ð¾Ð´ e2-e4, напиÑиÑе isValidMove(5,2,5,4); * @author John Doe * @param theFromFile ÐеÑÑикалÑ, на коÑоÑой Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ ÑигÑÑа (1=a, 8=h) * @param theFromRank ÐоÑизонÑалÑ, на коÑоÑой Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ ÑигÑÑа (1...8) * @param theToFile ÐеÑÑÐ¸ÐºÐ°Ð»Ñ ÐºÐ»ÐµÑки, на коÑоÑÑÑ Ð²ÑполнÑеÑÑÑ Ñ Ð¾Ð´ (1=a, 8=h) * @param theToRank ÐоÑизонÑÐ°Ð»Ñ ÐºÐ»ÐµÑки, на коÑоÑÑÑ Ð²ÑполнÑеÑÑÑ Ñ Ð¾Ð´ (1...8) * @return true, еÑли Ñ Ð¾Ð´ допÑÑÑим, и false, еÑли недопÑÑÑим */ boolean isValidMove(int theFromFile, int theFromRank, int theToFile, int theToRank) { . . . }
[пÑавиÑÑ] ÐопÑлÑÑнÑе генеÑаÑоÑÑ Ð´Ð¾ÐºÑменÑаÑии
ÐÑимеÑÑ Ð´Ð»Ñ ÑазнÑÑ ÑзÑков и ÑÑед пÑогÑаммиÑованиÑ:
- Doc-O-Matic (англ.);
- Document! X пÑеднознаÑен Ð´Ð»Ñ Ð¿ÑогÑамм на ÑзÑке VB6, ÑзÑÐºÐ°Ñ : VB.NET/C#/Visual C++ .NET (.NET Framework 1.0, 1.1 и 2.0), COM-компоненÑов, баз даннÑÑ Access, Microsoft SQL Server и Oracle, XML Schema и дÑÑÐ³Ð¸Ñ ÑзÑÐºÐ°Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ XML;
- Doxygen â ÑзÑÐºÐ°Ñ : C++, Си, Objective-C, Java, IDL, PHP, C#, ФоÑÑÑан, VHDL и, ÑаÑÑиÑно, D;
- Epydoc â ÑзÑке Python;
- Javadoc â ÑзÑке Java;
- HappyDoc[1];
- PasDoc[2] â ÑзÑке Delphi/Pascal;
- perldoc[3] â ÑзÑке Perl (вклÑÑен в ÑÑандаÑÑнÑй диÑÑÑибÑÑив);
- PhpDocumentor и PHPDoc (адапÑаÑÐ¸Ñ Javadoc Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ PHP) â ÑзÑке PHP;
- POD(англ.);
- RDoc[4] â ÑзÑке Ruby;
- ROBODoc[5];
- TwinText(англ.);
- NDoc[6] â ÑзÑÐºÐ°Ñ C#, VB.NET и дÑÑÐ³Ð¸Ñ ÑзÑÐºÐ°Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ñ .NET;
- Sandcastle â IDE .NET Framework и Microsoft Visual Studio;
- VBdocman[7] â ÑзÑке VB6;
- VSdocman (Ñанее VBdocman .NET) â ÑзÑков VB.NET и C#;
- WEB / CWEB[8];
- XHelpGen â ÑзÑке Delphi (Ð²Ñ Ð¾Ð´Ð¸Ñ Ð² ÑоÑÑав библиоÑеки KOL/MCK).