11.05.2013 Views

Guía de estilo de programación en C++ estructurado

Guía de estilo de programación en C++ estructurado

Guía de estilo de programación en C++ estructurado

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

int areaRectangulo = lado1 * lado2; // calcula área<br />

areaCirculo = PI * r * r; // calcula área <strong>de</strong>l círculo<br />

// PI es 3.1415927<br />

En el contexto <strong>de</strong>l ejemplo anterior, el tercer com<strong>en</strong>tario es absolutam<strong>en</strong>te innecesario,<br />

mi<strong>en</strong>tras que los dos primeros son cuestionables, siempre que los i<strong>de</strong>ntificadores hayan sido<br />

escogidos cuidadosam<strong>en</strong>te, como es el caso.<br />

4.1 Com<strong>en</strong>tarios <strong>de</strong> inicio <strong>de</strong> bloque<br />

Exist<strong>en</strong> dos tipos básicos <strong>de</strong> com<strong>en</strong>tarios, los que podríamos <strong>de</strong>nominar com<strong>en</strong>tarios <strong>en</strong>cima, y los<br />

que podríamos <strong>de</strong>nominar com<strong>en</strong>tarios a la <strong>de</strong>recha. Los más recom<strong>en</strong>dables son los primeros,<br />

pues suel<strong>en</strong> explicar un bloque <strong>de</strong> código, a modo <strong>de</strong> párrafo, aclarando mucho la lectura.<br />

void listarPersonas(char buffer[], const Persona &vp[MaxPersonas])<br />

/**<br />

@param buffer vector <strong>de</strong> caracteres para listado<br />

@param vp vector <strong>de</strong> personas a listar<br />

*/<br />

{<br />

*buffer = 0;<br />

int i = 0;<br />

}<br />

// Obt<strong>en</strong>er los nombres <strong>de</strong> cada persona<br />

for(; i < MaxPersonas; ++i) {<br />

strcat( buffer, vp[ i ].nombre );<br />

strcat( buffer, “\n” );<br />

}<br />

return buffer;<br />

Como pue<strong>de</strong> observarse, el com<strong>en</strong>tario <strong>de</strong> la función sigue un formato específico, que se discutirá<br />

<strong>en</strong> las sigui<strong>en</strong>tes secciones.<br />

4.2 Com<strong>en</strong>tarios aclaratorios<br />

Los com<strong>en</strong>tarios a la <strong>de</strong>recha <strong>de</strong>b<strong>en</strong> emplearse como m<strong>en</strong>sajes aclaratorios, int<strong>en</strong>tando mant<strong>en</strong>er<br />

especialm<strong>en</strong>te <strong>en</strong> ellos la concisión, pues es fácil que se alcanc<strong>en</strong> rápidam<strong>en</strong>te más <strong>de</strong> och<strong>en</strong>ta<br />

caracteres <strong>en</strong> esa línea. Agravando aún más este último problema, <strong>de</strong>b<strong>en</strong> colocarse alejados <strong>de</strong>l<br />

código que aclaran para que sean visibles.<br />

// Cálculos previos al r<strong>en</strong><strong>de</strong>ring<br />

areaRectangulo = lado1 * lado2; // <strong>en</strong> cms<br />

4.3 Com<strong>en</strong>tarios sobre funciones y procedimi<strong>en</strong>tos<br />

Des<strong>de</strong> la llegada <strong>de</strong>l l<strong>en</strong>guaje Java, y su herrami<strong>en</strong>ta <strong>de</strong> docum<strong>en</strong>tación, Javadoc, se han<br />

g<strong>en</strong>eralizado los com<strong>en</strong>tarios formateados con un <strong>de</strong>terminado <strong>estilo</strong>, y aceptando unos<br />

<strong>de</strong>terminados parámetros <strong>de</strong> docum<strong>en</strong>tación embebidos <strong>en</strong> ellos. Para el l<strong>en</strong>guaje C, existe también<br />

un equival<strong>en</strong>te a Javadoc, la herrami<strong>en</strong>ta Doxyg<strong>en</strong> 1 , <strong>de</strong> gran aceptación.<br />

Así, cuando un com<strong>en</strong>tario, <strong>en</strong> lugar <strong>de</strong> empezar por /*, comi<strong>en</strong>za por /**, al pasar el código<br />

por la herrami<strong>en</strong>ta Doxyg<strong>en</strong>, ésta g<strong>en</strong>era la docum<strong>en</strong>tación recogida <strong>en</strong> varios formatos (incluy<strong>en</strong>do<br />

el HTML, que lo hace i<strong>de</strong>al para las refer<strong>en</strong>cias cruzadas). Estos com<strong>en</strong>tarios también son útiles al<br />

<strong>de</strong>snudo, por lo que <strong>de</strong>b<strong>en</strong> colocarse <strong>en</strong> las cabeceras (los ficheros con ext<strong>en</strong>sión .h, don<strong>de</strong> se<br />

1 Doxyg<strong>en</strong> pue<strong>de</strong> <strong>en</strong>contrarse <strong>en</strong>: http://www.doxyg<strong>en</strong>.org

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!