Beruflich Dokumente
Kultur Dokumente
de los operadores. Confirme que los operadores de la expresin se ejecutan en el orden que
espera. Si no est seguro del orden de evaluacin de una expresin compleja, coloque
parntesis para forzar el orden, justo igual como lo hara en una expresin algebraica.
Adems, observe que algunos operadores, como el de asignacin (=), se asocian de derecha a
izquierda, y no de izquierda a derecha.
10. La iniciacin de variables cuando se declaran ayuda al programador a evitar los problemas
provocados por datos no inicializados.
11. En los programas no debe haber ms que una instruccin por lnea.
12. Sangre o idente las instrucciones de ambos cuerpos de las estructuras if/else.
13. Si hay varios niveles de sangrado, todos deben sangrarse con espacios iguales.
14. Siempre ponga llaves en las estructuras if/else (y en cualquier estructura de control) para
ayudarle a evitar su omisin accidental, especialmente si despus le agrega instrucciones a
una clusula if o else.
15. Inicialice todas las variables que use como los contadores y totalizadores.
16. Declare cada variable en una lnea diferente.
17. Al efectuar divisiones entre una expresin cuyo valor podra ser cero, busque explcitamente
esta condicin y manjela de manera adecuada (imprimiendo un mensaje de error) en lugar de
permitir que suceda un error fatal.
18. Mediante un mensaje pdale al usuario todas las entradas de teclado. Dicho mensaje debe
especificar la forma de la entrada y los valores especiales que pueda tener (como el valor
centinela que debe indicar el usuario para terminar algn ciclo)
19. En los ciclos controlados por un valor centinela, las solicitudes de entrada de informacin
deben recordarle explcitamente al usuario dicho valor centinela.
20. No compare la igualdad o desigualdad de los valores de punto flotante. En cambio, pruebe
que el valor absoluto de la diferencia sea menor que un valor pequeo especificado.
21. Controle los ciclos con contadores por medio de variables enteras.
22. Para ayudarle a evitar los errores por diferencia de uno, utilice el valor final en la condicin
de una estructura while o for y el operador relacional <=. Por ejemplo, para un ciclo que
imprime los valores 1 a 10, la condicin de continuacin del ciclo debera ser contador <= 10,
en lugar de contador < 10 (lo que es un error por diferencia de uno) o contador < 11 (que,
37. Evite los identificadores que comiencen con uno o dos caracteres de subrayado, pues podra
ser que el compilador de C utilice nombres de este tipo para fines internos. Esto evitar que
los nombres que usted determine se confundan con los nombres que el compilador
seleccione.
38. Dentro de los corchetes que definen el cuerpo de una funcin, idente el cuerpo de la funcin
un nivel. Esto resalta la estructura funcional de los programas y ayuda a simplificar su
lectura.
39. Slo indique letras maysculas para los nombres de constantes de enumeracin. Con esto se
resaltan las constantes en el programa, recordndole al programador que las constantes de
enumeracin no son variables.
40. Algunos programadores siempre incluyen llaves en las estructuras do/while, incluso cuando
no son necesarias. Esto ayuda a eliminar las ambigedades entre la estructura while y la
estructura do/while que contiene una sola instruccin.
41. Algunos programadores prefieren declarar las variables en lneas separadas. Este formato
permite la fcil insercin de comentarios descriptivos junto a cada declaracin.
42. Para hacer ms legibles sus programas, ponga espacios despus de las comas (, )
43. La consistencia en la aplicacin razonable de convenciones de sangrado a sus programas
simplificar notablemente su lectura. Sugerimos una tabulacin fija de 14 de pulgada o tres
espacios en blanco por cada sangra.
44. Cada funcin debera caber en una ventana del editor. Sin importar su tamao, lo importante
es que efecte bien una tarea. Las funciones pequeas promueven la reutilizacin del
software.
45. Establezca una convencin para el tamao de las sangras y luego aplquela de manera
uniforme. La tecla Tab sirve para crear sangras, pero las tabulaciones pueden variar.
Recomendamos manejar tabulaciones de 14 de pulgada o (de preferencia) de tres espacios
por cada nivel de sangra.
46. Es posible distribuir una instruccin grande sobre varias lneas. Si tiene que dividir una
instruccin sobre varias lneas, seleccione puntos de ruptura que tengan sentido, como
despus de una coma en el caso de una lista separada por comas o despus de un operador
en el caso de una expresin larga. Si necesita dividir una instruccin en varias lneas, sangre
todas las lneas subsecuentes.
47. Algunos programadores prefieren colocar primero las llaves izquierda y derecha y despus
introducir las instrucciones que van dentro de ellas. Con esto se evita la omisin de alguna
de dichas llaves.
48. Si hay demasiados niveles de anidamiento puede volverse difcil entender el programa. Como
regla general, trate de evitar codificar ms de 5 niveles de sangrado.
49. Donde va una condicin (if, while, for, ...) no se pondr un nmero.
50. Ponga espacios en ambos lados de los operadores binarios. Con esto se resalta el operador y
se simplifica la lectura del programa.
51. Muchos programadores hacen que el ltimo carcter impreso por una funcin sea un salto de
lnea (\n) Esto asegura que la funcin dejar el cursor al inicio de una nueva lnea. Las
convenciones de esta naturaleza promueven la reutilizacin del software, meta clave en los
entornos de desarrollo de software.
52. Los operadores unarios deben ponerse junto a sus operandos, sin espacios intermedios.
Enlaces a Otros Documentos que contienen Buenas Prcticas de Programacin en C y que fueron
usados como base para la elaboracin de este documento.
http://pis.unicauca.edu.co/moodle/mod/resource/view.php?inpopup=true&id=3623
http://www.google.co.ve/url?sa=t&source=web&ct=res&cd=6&url=http%3A%2F%2Fpersonales.unican
.es%2Fzorrillm%2FPDFs%2FDocencia%2FProgramacionComputadoras%2Festilo.pdf&ei=O77ASojGJJfk
8Ab2tmyAQ&rct=j&q=buenas+practicas+de+programacion+en+c&usg=AFQjCNH9W7LPMNx8RTCwELXIf
TynrSdDmQ
http://www.google.co.ve/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fazul2.bnct.ipn.mx
%2Fc%2Ffunciones%2Farchivos%2520%2528.pdf%2529%2Fcomplemento%2520lecciones%25201017.pdf&ei=O77ASojGJJfk8Ab2tmyAQ&rct=j&q=buenas+practicas+de+programacion+en+c&usg=AFQjCNF2kVSUyyGIxW9DL0TT53
vKNKYbFQ
Recopilacin hecha por el Prof. Ricardo Gonzalez para el Curso de Redes 1 CI4835