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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.7 Declaración <strong>de</strong> variables<br />

Se <strong>de</strong>be colocar cada variable <strong>en</strong> una línea, incluso si<strong>en</strong>do <strong>de</strong>l mismo tipo.<br />

int x, y; // Es necesaria una segunda mirada para fijarse <strong>en</strong> 'y'<br />

int main()<br />

{<br />

int x;<br />

int y;<br />

char c;<br />

char toret[128];<br />

}<br />

// más cosas ...<br />

return 0;<br />

C permite minimizar muchísimo ciertas expresiones. Por ejemplo, el sigui<strong>en</strong>te bucle copiaría<br />

una ca<strong>de</strong>na <strong>de</strong> caracteres <strong>de</strong> C (un vector <strong>de</strong> char), <strong>en</strong> otra <strong>de</strong> <strong>de</strong>stino:<br />

void copiaCa<strong>de</strong>na(char cadDestino[], const char cadOrig<strong>en</strong>[])<br />

{<br />

int i = 0;<br />

while( cadDestino[ i ] = cadOrig<strong>en</strong>[ i++ ] );<br />

}<br />

Esto es bu<strong>en</strong>o <strong>en</strong> cuanto a espaciado vertical, <strong>de</strong>s<strong>de</strong> luego, pero <strong>de</strong>be valorarse cuándo el<br />

ahorro <strong>de</strong> espaciado merma la legibilidad <strong>de</strong>l código.<br />

void copiaCa<strong>de</strong>na(char cadDestino[], const char cadOrig<strong>en</strong>[])<br />

{<br />

int i = 0;<br />

for(; cadOrig<strong>en</strong>[ i ] != 0; ++i) {<br />

cadDestino[ i ] = cadOrig<strong>en</strong>[ i ];<br />

}<br />

}<br />

La anterior función realiza la misma tarea que la pre<strong>de</strong>cesora. Sin embargo, está<br />

perfectam<strong>en</strong>te claro cuándo el bucle termina (al llegar a la marca <strong>de</strong> fin <strong>de</strong> ca<strong>de</strong>na <strong>de</strong> la ca<strong>de</strong>na <strong>de</strong><br />

orig<strong>en</strong>), cuándo se hace explícitam<strong>en</strong>te una copia y también cuándo, <strong>de</strong>spués, se increm<strong>en</strong>tan ambos<br />

contadores. Es una función que se pue<strong>de</strong> compr<strong>en</strong><strong>de</strong>r <strong>de</strong> un vistazo, mi<strong>en</strong>tras que la anterior, aún<br />

para un programador con experi<strong>en</strong>cia, supondrá invertir unos cuantos segundos. Finalm<strong>en</strong>te, la<br />

calidad <strong>de</strong>l código máquina g<strong>en</strong>erada es la misma <strong>en</strong> ambos casos, si bi<strong>en</strong> es cierto que el primer<br />

ejemplo podría g<strong>en</strong>erar, según el compilador, un número <strong>de</strong> instrucciones máquina algo m<strong>en</strong>or.<br />

4 Com<strong>en</strong>tarios<br />

Un com<strong>en</strong>tario <strong>de</strong>be ser siempre clarificador, útil, y, <strong>en</strong> cambio, cuanto más corto mejor. En<br />

particular, <strong>de</strong>be cuidarse <strong>en</strong> no insultar la intelig<strong>en</strong>cia <strong>de</strong>l lector <strong>en</strong> <strong>de</strong>terminadas ocasiones,<br />

com<strong>en</strong>tando secu<strong>en</strong>cias <strong>de</strong> código obvias y <strong>de</strong>sesperarlo al <strong>en</strong>contrarse con construcciones<br />

complejas que no ti<strong>en</strong><strong>en</strong> ningún com<strong>en</strong>tario.

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

Saved successfully!

Ooh no, something went wrong!