2º:
while (1)
{
*destination_ptr
= *source_ptr;
destination_ptr++;
source_ptr++;
if
(*destination_ptr == '\n')
break; /* abandonar el bucle si se ha acabado */
}
Figura 1 Legibilidad del código
(*********************************************************************************************************Los comentarios de bloque tienen varias ventajas:
* Los comentarios de tipo bloque contienen texto en lenguaje natural escrito
* en castellano o inglés correcto (hay que colocar tildes allí donde sea necesario,
* y por supuesto, evitar las faltas de ortografía) y constan generalmente de varias líneas.
*
* Generalmente ayuda a su legibilidad el dejar líneas en blanco entre cada uno de los
* párrafos del comentario.
*
* Este tipo de comentarios son especialmente idóneos para los comentarios prólogo o de directorio,
* mientras que para comentarios explicatorios deberíamos tender a comentarios de una o dos líneas
* a lo sumo: si alguna particularidad del código precisa de varias líneas, es preferible explicar
* ese aspecto como prólogo a la rutina que usando un comentario de bloque.
**********************************************************************************************************)
x[i] = a[j]; (* x[i] es ahora el mayor elemento *)o bien:
temp := a[j]; { Intercambiamos los elementos máximo y mínimo }Siempre que sea posible, intentaremos que los comentarios de una línea se coloquen en la misma línea que otras sentencias y a la derecha del final de la misma (como en los ejemplos), produciendo así un código más compacto.
a[j] := a[i];
a[i] := temp;
¿Ha visto el punto y coma al final de la línea anterior?. Un buen programador codificaría:
for (index = 0; data[index] < key; index++)
; /* No hacer nada */
Figura 2.a Deje constancia expresa
de lo que se hace
for index := 0 to N do ;
¿Ha visto el punto y coma al final de la línea anterior?. Una forma más correcta de codificar sería:
for index := 0 to N do
; {No
hacer nada}
Figura 2.b Deje constancia expresa
de lo que se hace
que
for(i=1;i<MAX;i++)
a + b
que
a+b
char c;
...
c = 97; /* Código ASCII del caracter 'a' */Es preferible el siguiente:
#define ASCII_a 97 /* Código ASCII del carácter 'a' */
...
c = ASCII_a
A modo de resumen de esta regla podríamos decir
que en el código no deberían aparecer constantes numéricas
(salvo 0 y 1 por su uso frecuente) sino en su lugar, utilizaremos definiciones
de constantes y el identificador de la misma en lugar de su valor.
En lenguajes de tipo Pascal los delimitadores begin-end los colocaremos ambos en la misma columna, y encerrando el código que delimitan:for (i = 0; i < 7; i++) {
alfa[i]++;
if (alfa[i] == MAX)
hallado = TRUE;
}
if (!hallado) {
beta--;
gamma++;
} else {
beta++;
gamma--;
}
for i := 0 to 7 do
begin
alfa[i] := alfa[i] + 1;
if alfa[i] = MAX then
hallado := TRUE;
end