¿Cuál es el orden correcto para leer estos libros? [cerrado]

25

Soy un desarrollador junior de C #, aprendí en casa y ahora obtuve mi primer trabajo :)

Quiero comprar estos libros. Pero, ¿cuál es el orden correcto para leer estos libros?

Código completo: un manual práctico de construcción de software

Código limpio: un manual de artesanía de software ágil

Programador pragmático

Tarek Saied
fuente
66
No hay un orden correcto (como dijo @Oded). Es probable que los lea (o al menos partes de ellos) una y otra vez. Así que elige uno, abre la tapa y digerir :)
Joel Etherton
8
La sabiduría convencional dice que debes comenzar en la primera página y terminar en la última página. ;)
vaughandroid
1
No veo ninguna razón para rechazarlo.
mmdemirbas
+1 a una buena selección de libros correctos para mejoras adicionales
EL Yusubov
Aquí hay otro que podría desear (muchos lo consideran la biblia C # .NET): Pro C # 2010 y la plataforma .NET 4, quinta edición (incluso podrían tener uno para .NET 5 y VS 2012 pronto).
Linuxios

Respuestas:

44

No hay un orden "correcto" para leer estos libros.

Cada uno se enfoca en diferentes aspectos de la ingeniería de software.

  • Código limpio: se centra en la codificación en pequeño. Cómo escribir clases y funciones.
  • Code Complete: se centra en los procesos de ingeniería de software.
  • Programador pragmático: se centra en trabajar dentro de un equipo que produce software.
Oded
fuente
77
@Downvoter: ¿quieres comentar?
Oded
12

¡Felicidades por conseguir tu primer trabajo! ¡Y realmente hiciste buenas elecciones de libros!

Estos libros son obras maestras para que cada programador las lea al menos una vez.

Desde mi experiencia personal, recomendaría leer libros indistintamente . Es un hecho que puede cansarse / aburrirse de un libro, y cambiar a un libro relacionado lo hará reenfocarse y detrás de escena su cerebro comenzará a procesar la información. Por lo tanto, puede obtener el máximo beneficio de este proceso.

Editar: como se menciona en el comentario, es una solución un poco multihilo para agregar eficiencia :)

Sin embargo, no te sobrecalientes . Tener más de 3 libros puede ser difícil de manejar al mismo tiempo.

EL Yusubov
fuente
8
Me parece divertido que la solución de un programador para un problema de la vida real es implementar múltiples subprocesos :)
Rotem
@Rotem: el motivo es simple y muy parecido a una expresión regular. Una vez que comience en tal tarea, sus problemas de la vida real comienzan a parecer mucho menos serios ;-),
Joris Timmermans
4

Estoy de acuerdo con las respuestas de "sin orden correcto", pero ofreceré un giro diferente ...

Iniciar y digerir completamente el código completo . Es el libro básico más básico y completo. Dedique MUCHO tiempo a leerlo y releerlo. Debería darte la mayor cantidad de ganancias si eres un principiante.

Richard Morgan
fuente
2

Solo leí "Código limpio", y fue muy bueno. El tío Bob te dice cómo convertirte en un buen Software Craftsman y cómo escribir código limpio que se pueda mantener incluso en años. Entonces quizás deberías leer este libro primero :-) (Ojalá lo hubiera leído antes).

Si desea obtener una vista más amplia (sobre las dependencias entre módulos), también puedo recomendarle sus códigos: http://www.cleancoders.com/

habakuk
fuente
1

He leído Pragmatic Programmer y estoy en el proceso de leer "Code Complete".

Desde mi experiencia hasta ahora, creo que "Programador pragmático" es un gran lugar para comenzar porque ofrece una visión de alto nivel de diferentes problemas de codificación. Lo leí en el transcurso de una semana; A medida que lo leía, inmediatamente me iluminé sobre algunas formas mejores de resolver los problemas con los que trato todos los días.

El "Código completo" es más largo y más exhaustivo.

Galletas De Harina De Arroz
fuente
1

También estoy leyendo esos libros, aquí está mi orden:

  1. Código limpio
  2. Programador pragmático
  3. Código completo
Homero Barbosa
fuente
Gracias por publicar su primera respuesta en Programmers Stack Exchange. No estoy seguro de por qué tuvo un voto negativo en este caso, pero podría ser que el votante negativo no solo estaba buscando una lista, sino también una justificación. Si aún no lo ha hecho, lea las preguntas frecuentes, que incluyen consejos para hacer preguntas y dar respuestas, y se le recompensa con una insignia programmers.stackexchange.com/faq . Buena suerte en tu futura participación en el intercambio de fichas. Espero que lo encuentres informativo y gratificante.
DesarrolladorDon
0

Estos libros tienen mucho mérito.

Muchas veces los desarrolladores entran en el trabajo sabiendo principalmente qué, sin muchos detalles sobre por qué . Los tres libros que eligió ofrecen mucho para mejorar lo que hace como programador, y son buenos para proporcionar descripciones para respaldar sus recetas .

La lectura de estos libros lo abrirá a muchas ideas que quizás nunca haya imaginado. Más adelante, a medida que gane experiencia, obtendrá aún más de estos libros, relacionando lo que ha visto con lo que describen.

Juntos, estos libros suman más de 1500 páginas. Eso es mucha lectura, y tienes razón al priorizar y trazar una secuencia. Le sugiero que descargue la tabla de contenido de los tres y califique los capítulos de cada uno según lo que más necesita ahora para su trabajo. Podrías comparar y contrastar sus consejos sobre nombres de variables y clases, pero creo que si lees sobre nombrar una vez, sería suficiente. Del mismo modo, si su equipo o gerente tiene pautas, sígalas.

Quizás pueda pedirlos prestados a un amigo o biblioteca antes de comprarlos. O tal vez incluso pasar unas horas en su librería local. Si cronometra su lectura, revisando los tres según sus prioridades, tomando notas en un papel en blanco, encontrará vocabulario y conceptos que puede aplicar hoy en el trabajo.

Pragmatic es una excelente descripción del enfoque de aprendizaje que desea al usar estos libros. Hay mucha superposición entre los tres, y creo que se ha revisado mucho en las fuentes accesibles desde la web. Hay muchas cosas que puede encontrar que necesita que no están en estos libros o que apenas se mencionan. Considere agregar más temas que van más allá del alcance de estos libros:

  • Tutoriales de lenguaje de programación.
  • El control de fuente específico de su organización y las herramientas de construcción.
  • Conceptos e implementaciones de estructuras de datos en C #.
  • Bibliotecas de clase estándar de C #.
  • Normas de codificación específicas para su organización.
  • Pruebas, probablemente con herramientas de prueba de MS.
  • Pautas de diseño de UI / UX para sus plataformas.
  • Patrones de diseño aplicables que para C #, esperaría que MVVM fuera el más crítico.

Otra consideración que creo que podría ayudar es considerar la fecha de publicación, el contexto y los objetivos de cada libro. De más antiguo a más reciente: Pragmatic 1999, Code Complete 2nd Ed. 2004, Clean Code 2008. Contexto: Pragmático enumera C, C ++, Java en su índice pero no C #. El código completo es Microsoft Press, escrito por un ex miembro de Microsoft, y debido a que está trabajando con un lenguaje de Microsoft, puede haber cierta afinidad allí, pero el índice tiene una entrada para C # y recibe menos amor que Fortran en la página 64.

El libro de Robert Martin está más inmerso en el enfoque ágil que los otros dos, es el más nuevo y tiene algunas descripciones bastante buenas de nombres, diseño de clase y probablemente mucha más ayuda con la concurrencia que los otros. Puede ser un poco injusto, pero los libros posteriores pueden hablar sobre más cosas y cosas más nuevas, y su contexto generalmente es más parecido a lo que hacemos hoy.

Cada uno de estos libros compite hasta cierto punto en una gama similar de temas. Algo así hace que quieras preguntar: "¿Qué libros de programación más nuevos y de amplio alcance compiten en el mismo espacio?"

DesarrolladorDon
fuente