The Elements of Programming Style , de Brian W. Kernighan y PJ Plauger , es un estudio del estilo de programación , que defiende la noción de que los programas de computadora deben escribirse no solo para satisfacer el "estilo" de programación personal o del compilador, sino también para la "legibilidad". por humanos, específicamenteingenieros de mantenimiento de software , programadores y redactores técnicos . Se publicó originalmente en 1974.
Autor | Brian W. Kernighan y PJ Plauger |
---|---|
Publicado | McGraw-Hill |
Fecha de publicación | 1978 |
Paginas | 168 páginas |
ISBN | 978-0070342071 |
El libro rinde homenaje explícito, en título y tono, a The Elements of Style , de Strunk & White y se considera una plantilla práctica que promueve las discusiones de programación estructuradas de Edsger Dijkstra . Ha sido influyente y ha generado una serie de textos similares adaptados a lenguajes individuales, como The Elements of C Programming Style , The Elements of C # Style , The Elements of Java (TM) Style , The Elements of MATLAB Style , etc.
El libro se basa en ejemplos breves de programas reales publicados en libros de texto de programación. Esto da como resultado un tratamiento práctico en lugar de una discusión abstracta o académica. El estilo es diplomático y generalmente comprensivo en su crítica, y también descaradamente honesto; algunos de los ejemplos en los que encuentra fallas son del propio trabajo de los autores (un ejemplo en la segunda edición es de la primera edición).
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":
- Escriba con claridad, no sea demasiado inteligente.
- Diga lo que quiere decir, simple y directamente.
- Utilice las funciones de la biblioteca siempre que sea posible.
- Evite demasiadas variables temporales.
- Escriba con claridad, no sacrifique la claridad por la eficiencia.
- Deje que la máquina haga el trabajo sucio.
- Reemplaza expresiones repetitivas por llamadas a funciones comunes.
- Entre paréntesis para evitar ambigüedades.
- Elija nombres de variables que no se confundan.
- Evite las ramas innecesarias.
- Si una expresión lógica es difícil de entender, intente transformarla.
- Elija una representación de datos que simplifique el programa.
- Escriba primero en un pseudolenguaje fácil de entender; luego traduzca al idioma que tenga que usar.
- Modularizar. Utilice procedimientos y funciones.
- Evite los gotos por completo si puede mantener el programa legible.
- No aplique parches al código incorrecto, vuelva a escribirlo.
- Escribe y prueba un gran programa en pequeños fragmentos.
- Utilice procedimientos recursivos para estructuras de datos definidas de forma recursiva.
- Pruebe la plausibilidad y validez de la entrada.
- Asegúrese de que la entrada no viole los límites del programa.
- Termine la entrada por marcador de fin de archivo, no por recuento.
- Identificar la entrada incorrecta; recuperar si es posible.
- Haga que la entrada sea fácil de preparar y la salida sea autoexplicativa.
- Utilice formatos de entrada uniformes.
- Facilite la revisión de las entradas.
- Utilice información de autoidentificación. Permitir valores predeterminados. Echo ambos en la salida.
- Asegúrese de que todas las variables estén inicializadas antes de su uso.
- No se detenga en un solo error.
- Utilice compiladores de depuración.
- Tenga cuidado con los errores uno por uno.
- Tenga cuidado de bifurcarse de la manera correcta sobre la igualdad.
- Tenga cuidado si un bucle sale al mismo lugar desde el medio y el fondo.
- Asegúrese de que su código no haga "nada" correctamente.
- Probar programas en sus valores límite.
- Verifique algunas respuestas a mano.
- 10.0 por 0.1 casi nunca es 1.0.
- 7/8 es cero, mientras que 7.0 / 8.0 no es cero.
- No compare números de punto flotante únicamente por igualdad.
- Hágalo bien antes de hacerlo más rápido.
- Hágalo a prueba de fallas antes de hacerlo más rápido.
- Déjelo claro antes de hacerlo más rápido.
- No sacrifique la claridad por pequeñas ganancias en eficiencia.
- Deje que su compilador haga las optimizaciones simples.
- No se esfuerce por reutilizar el código; reorganizar en su lugar.
- Asegúrese de que los casos especiales sean realmente especiales.
- Mantenlo simple para hacerlo más rápido.
- No manipule el código para hacerlo más rápido, busque un algoritmo mejor.
- Instrumenta tus programas. Mida antes de realizar cambios de eficiencia.
- Asegúrese de que los comentarios y el código estén de acuerdo.
- No se limite a repetir el código con comentarios, haga que cada comentario cuente.
- No comente el código incorrecto, vuelva a escribirlo.
- Utilice nombres de variables que signifiquen algo.
- Use etiquetas de declaración que signifiquen algo.
- Formatee un programa para ayudar al lector a comprenderlo.
- Documente sus diseños de datos.
- No comentes demasiado
Los lectores modernos pueden encontrar una deficiencia que sus ejemplos utilicen lenguajes de programación procedimental más antiguos ( Fortran y PL / I ) que son bastante diferentes de los populares hoy en día. Pocos de los lenguajes populares de hoy se habían inventado cuando se escribió este libro. Sin embargo, muchos de los puntos del libro que generalmente se refieren a cuestiones estilísticas y estructurales trascienden los detalles de lenguajes particulares.
Recepción
Kilobaud Microcomputing declaró que "si tiene la intención de escribir programas para que los utilicen otras personas, entonces debería leer este libro. Si espera convertirse en un programador profesional, este libro es de lectura obligatoria". [1]
Referencias
- ^ Reeves, Jack W. (enero de 1980). "Los elementos del estilo de programación" . Microinformática Kilobaud . pag. 9 . Consultado el 23 de junio de 2014 .