Articulo de referencia

Los elementos del estilo de programación

El libro «Los elementos del estilo de programación» , de Brian W. Kernighan y PJ Plauger , es un estudio sobre el estilo de programación que defiende la idea de que los programa...

El libro «Los elementos del estilo de programación» , de Brian W. Kernighan y PJ Plauger , es un estudio sobre el estilo de programación que defiende la idea de que los programas informáticos deben escribirse no solo para satisfacer el «estilo» de programación del compilador o del usuario, sino también para que sean legibles para los humanos, en concreto para los ingenieros de mantenimiento de software , los programadores y los redactores técnicos . Se publicó originalmente en 1974.

El libro rinde un homenaje explícito, tanto en el título como en el tono, a *The Elements of Style* , de Strunk y White , y se considera una guía práctica que promueve las discusiones sobre programación estructurada de Edsger Dijkstra . Ha sido influyente y ha dado lugar a una serie de textos similares adaptados a lenguajes específicos, como * The Elements of C Programming Style *, * The Elements of C# Style *, * The Elements of Java™ Style *, * The Elements of MATLAB Style *, etc.

El libro se basa en ejemplos breves extraídos de programas reales publicados en manuales de programación. Esto da como resultado un enfoque práctico, en lugar de una discusión abstracta o académica. El estilo es diplomático y, en general, comprensivo en sus críticas, además de ser abiertamente honesto : algunos de los ejemplos que critica provienen del propio trabajo de los autores (un ejemplo de la segunda edición procede de la primera).

Lecciones

Sus lecciones se resumen al final de cada sección en máximas concisas , como "Deje que la máquina haga el trabajo sucio":

  1. Escribe con claridad, no intentes ser demasiado ingenioso.
  2. Di lo que piensas, de forma sencilla y directa.
  3. Utilice las funciones de la biblioteca siempre que sea posible.
  4. Evite demasiadas variables temporales.
  5. Escribe con claridad; no sacrifiques la claridad por la eficiencia.
  6. Deja que la máquina haga el trabajo sucio.
  7. Reemplace las expresiones repetitivas por llamadas a funciones comunes.
  8. Utilice paréntesis para evitar ambigüedad.
  9. Elige nombres de variables que no puedan generar confusión.
  10. Evite las ramas innecesarias.
  11. Si una expresión lógica es difícil de entender, intenta transformarla.
  12. Elija una representación de datos que simplifique el programa.
  13. Escribe primero en un pseudolenguaje fácil de entender; luego, traduce al idioma que tengas que usar.
  14. Modularizar. Utilizar procedimientos y funciones.
  15. Evite por completo las instrucciones goto si puede mantener el programa legible.
  16. No parchees el código defectuoso, reescríbelo.
  17. Escribe y prueba un programa grande dividiéndolo en partes pequeñas.
  18. Utilice procedimientos recursivos para estructuras de datos definidas recursivamente.
  19. Pruebe la plausibilidad y validez de los datos de entrada.
  20. Asegúrese de que la entrada no infrinja los límites del programa.
  21. Finalice la entrada mediante el marcador de fin de archivo, no por el número de elementos.
  22. Identificar datos erróneos; recuperarlos si es posible.
  23. Facilita la preparación de los datos de entrada y garantiza que la salida sea autoexplicativa.
  24. Utilice formatos de entrada uniformes.
  25. Facilita la revisión de la información introducida.
  26. Utilice la entrada de autoidentificación. Permita valores predeterminados. Repita ambos en la salida.
  27. Asegúrese de que todas las variables estén inicializadas antes de usarlas.
  28. No te conformes con un solo error.
  29. Utilice compiladores de depuración.
  30. Cuidado con los errores de un solo dígito.
  31. Tenga cuidado de encaminarse por el camino correcto en materia de igualdad.
  32. Tenga cuidado si un bucle sale al mismo lugar desde el medio y desde abajo.
  33. Asegúrate de que tu código no haga "nada" de forma elegante.
  34. Pruebe los programas en sus valores límite.
  35. Comprueba algunas respuestas a mano.
  36. 10,0 por 0,1 casi nunca es 1,0.
  37. 7/8 es cero, mientras que 7.0/8.0 no es cero.
  38. No compare números de coma flotante únicamente para comprobar si son iguales.
  39. Hazlo bien antes de hacerlo más rápido.
  40. Asegúrate de que sea a prueba de fallos antes de hacerlo más rápido.
  41. Aclara esto antes de hacerlo más rápido.
  42. No sacrifiques la claridad por pequeñas mejoras en la eficiencia.
  43. Deja que tu compilador se encargue de las optimizaciones sencillas.
  44. No te esfuerces por reutilizar el código; en su lugar, reorganízalo.
  45. Asegúrese de que los casos especiales sean realmente especiales.
  46. Mantén la sencillez para que sea más rápido.
  47. No modifiques el código para hacerlo más rápido; busca un algoritmo mejor.
  48. Instrumenta tus programas. Mide antes de realizar cambios para mejorar la eficiencia.
  49. Asegúrate de que los comentarios y el código coincidan.
  50. No te limites a copiar el código con comentarios; haz que cada comentario cuente.
  51. No comentes el código defectuoso; reescríbelo.
  52. Utiliza nombres de variables que tengan significado.
  53. Utilice etiquetas descriptivas que tengan significado.
  54. Diseña un programa de forma que el lector pueda comprenderlo.
  55. Documenta la estructura de tus datos.
  56. No comentes demasiado.

Los lectores modernos podrían considerar una deficiencia que sus ejemplos utilicen lenguajes de programación procedimentales antiguos ( Fortran y PL/I ), bastante diferentes de los populares hoy en día. Pocos de los lenguajes populares actuales se habían inventado cuando se escribió este libro. Sin embargo, muchos de los puntos que aborda, en general, sobre cuestiones de estilo y estructura, trascienden los detalles de lenguajes específicos.

Recepción

Kilobaud Microcomputing afirmó que «Si pretendes escribir programas para que los utilicen otras personas, deberías leer este libro. Si aspiras a convertirte en programador profesional, este libro es de lectura obligatoria». [ 1 ]

Referencias

  1. Reeves, Jack W. (enero de 1980). "Los elementos del estilo de programación" . Kilobaud Microcomputing . pág. 9. Consultado el 23 de junio de 2014 . 
  • BW Kernighan y PJ Plauger, Los elementos del estilo de programación , McGraw-Hill, Nueva York, 1974. ISBN 0-07-034199-0
  • BW Kernighan y PJ Plauger, Los elementos del estilo de programación, 2.ª edición , McGraw Hill, Nueva York, 1978. ISBN 0-07-034207-5
  • J. Plauger seleccionó citas de Los elementos del estilo de programación.
  • Elementos del estilo de programación: charla de Brian Kernighan en Princeton en 2009 (disponible en YouTube).
Obtenido de " https://en.wikipedia.org/w/index.php?title=The_Elements_of_Programming_Style&oldid=1305175917 "