it-swarm-es.com

¿Cuáles son los puntos clave de Code Complete?

He escuchado a mucha gente mencionar Code Complete como un libro que vale la pena leer. Desafortunadamente, estoy tan ocupado que no tengo tiempo para leerlo, así que ¿alguien puede decirme cuáles son los puntos clave del libro?

74
Casebash

Code Complete trata sobre la artesanía del software; es un libro de principiante avanzado/nivel intermedio, escrito para el programador que trabaja, pero aún sería muy útil para alguien que ha estado programando durante al menos un año.

Por lo tanto, los puntos clave de Code Complete (2ª ed.) Están muy bien resumidos en su Capítulo 34, Temas en Software Craftsmanship. Como parafraseado de mis notas:

  1. Conquistar la complejidad : reduce la carga cognitiva en tu mente a través de la disciplina, las convenciones y la abstracción.
  2. Elija su proceso : tenga en cuenta la calidad desde el inicio (requisitos) hasta el final (implementación) y más allá (mantenimiento).
  3. Escribir programas para las personas primero, las computadoras en segundo lugar : la legibilidad del código es muy importante para la comprensión, la capacidad de revisión, la tasa de error, la corrección de errores, la modificabilidad y El consiguiente tiempo de desarrollo y calidad.
  4. Programa en tu idioma, no en él : piensa en el ¿Qué? ¿y por qué? antes del cómo?
  5. Concentre su atención con la ayuda de las convenciones : las convenciones gestionan la complejidad al proporcionar la estructura donde se necesita, de modo que el recurso final - su atención - pueda ser utilizado efectivamente .
  6. Programa en términos del dominio del problema : trabaje al más alto nivel de abstracción posible; El código de nivel superior debe describir el problema que se está resolviendo. Distinga el nivel del sistema operativo, el nivel del lenguaje de programación, las estructuras de implementación de bajo nivel, los términos de dominio de problemas de bajo nivel y, por último, los términos de dominio de problemas de alto nivel que tendrían sentido total para el usuario (no codificador).
  7. Esté atento a la caída de rocas : a medida que la programación fusiona arte y ciencia, el buen juicio es vital, incluidas las señales de advertencia.
  8. Iterar, repetidamente, una y otra vez : iterar requisitos, diseño, estimaciones, código, ajuste de código.
  9. Renderizarás Software y Religion Asunder : sé ecléctico y dispuesto a experimentar. No seas un fanático inflexible, excluye la curiosidad y el aprendizaje. Vaya más allá de tener solo un martillo en su caja de herramientas.

Pero las más importantes para llevar se encuentran en el Capítulo 33, Carácter personal : una vez que busca conscientemente mejorar como codificador, puede y lo hará. La forma más rápida de hacerlo es asumir las actitudes de los maestros codificadores (humildad, curiosidad, honestidad intelectual, disciplina, creatividad), mientras también practicas sus hábitos (muchos buenos hábitos se enumeran en el libro, por ejemplo, elegir buenos nombres de variables/valores).

Además, el libro deja en claro que la brecha entre promedio y excelente en software es inmensa ; solo ese hecho debería conducir al codificador concienzudo a superarse a sí mismo.

Eso es todo; La versión larga está en el libro. :) También puedo enviarte mis notas no tan largas ni tan cortas si quieres más detalles. Pero el libro es ciertamente dinero y tiempo bien invertido, incluso si el estilo de escritura es agotador a veces.

Más allá de Code Complete, recomiendo encarecidamente The Pragmatic Programmer . Es para programadores de nivel intermedio, bien redactados y una excelente combinación de consejos de alto, medio y bajo nivel.

86
limist

Es un libro intermedio, un popurrí de mejores prácticas de desarrollo de software.

Si eres un programador principiante, no entenderás mucho del material, y si tienes experiencia, el libro solo confirmará lo que ya sabes. En consecuencia, el libro podría ser de mayor valor para los programadores intermedios, que ya tienen un poco de conocimiento de programación, pero necesitan un libro de mejores prácticas para vincularlo todo.

Se gastan varias páginas sobre cómo formatear bloques de código y los méritos relativos de cada enfoque. Personalmente, creo que el gran debate sobre dónde colocar las llaves se terminó. (o es?)

18
Robert Harvey