Un libro de lectura obligada para programadores.
1. Refactoring: Mejorar el diseño del código existente (un clásico inmortal del desarrollo de software)
¿Qué es refactoring? En pocas palabras, significa no cambiar el comportamiento externo metódicamente. el código. Aunque este libro utiliza el lenguaje Java para escribir código de ejemplo, sus conceptos e ideas son aplicables a otros lenguajes. En el libro, el autor comienza con un código insulso e incluso de mal sabor y los convierte paso a paso en código más flexible y reutilizable. A través de los ejemplos del libro, comprenderá claramente qué es el código limpio. De hecho, la refactorización sigue siendo una habilidad esencial para los programadores experimentados. Cuando desee mejorar la refactorización de su código, leer este libro le brindará una guía a seguir y de repente las cosas le quedarán claras.
2. Code Cleaning (la obra maestra de Robert C. Martin, traducida por Han Leixian)
Este es mi libro favorito, les he recomendado a colegas, lectores y estudiantes más de una vez. Creo que se puede llamar el mejor libro, que es muy conveniente para el desarrollo y la codificación de software. No creo que sea necesario presentar al tío Bob. Ha escrito una serie de libros sobre desarrollo ágil. Todos sus libros están en mi estantería, como "Limpieza de código", "Cualidades profesionales de los programadores", "Desarrollo de software ágil (principios, patrones y prácticas)", "Desarrollo de software ágil (principios, patrones y prácticas)", "Java's UML para programadores", "Programación extrema en la práctica", etc. Aunque sus libros son un poco antiguos, siguen siendo valiosos e incluso décadas después siguen siendo útiles, especialmente cuando se trata de programación orientada a objetos. Este libro no sólo le dice qué hacer, sino que también le enseña qué no hacer. El libro tiene un capítulo sobre olores de código que proporciona una lista completa de los tipos de errores que encuentran la mayoría de los programadores, y los capítulos siguientes detallan cómo corregirlos. Por ejemplo, cómo convertir declaraciones de cambio largas en modelos que sigan el principio abierto-cerrado y cómo aprovechar la integración y el polimorfismo. Una vez más, realmente vale la pena tener este libro para todos los programadores. Al igual que el libro anterior, los ejemplos de este libro utilizan el lenguaje Java, pero aún son aplicables a los desarrolladores que utilizan otros lenguajes de programación orientados a objetos. Si quieres dominar un buen código, este libro es esencial.
3. Colección de códigos
¡Ganó dos veces el premio Software JoltaAward Shock! El mapa mundial del desarrollo de software, un clásico entre los clásicos.
Creo que todo el mundo ha leído este libro. Esta es la famosa enciclopedia de códigos. Desde cierta perspectiva, en realidad es la versión C++ de Code Neat. El objetivo de este libro es ayudar a los desarrolladores a escribir mejor software utilizando código de alta calidad. El libro también cubre problemas comunes y mejores prácticas en programación. Este libro también puede considerarse una lectura obligada, especialmente para programadores de C y C++. Las técnicas analizadas en Encyclopedia of Code, segunda edición no sólo llenan el vacío entre las prácticas de programación de nivel básico y avanzada, sino que también brindan a los programadores una fuente de información sobre técnicas de desarrollo de software. Code Encyclopedia (segunda edición) es de gran beneficio para programadores experimentados, líderes técnicos, programadores autodidactas y estudiantes sin mucha experiencia en programación. Se puede decir que siempre que tenga cierta base en programación y quiera convertirse en un excelente programador, no se sentirá decepcionado después de leer "Código completo (segunda edición)".
4. El arte de las pruebas unitarias
Robert C. Martin, un maestro en desarrollo de software de talla mundial y pionero de patrones de diseño y desarrollo ágil, lo recomienda encarecidamente.
Si tenemos que hacer algo para mejorar el proyecto y mejorar el nivel de los desarrolladores, creo que es dejar que los desarrolladores dominen la capacidad de las pruebas unitarias. Para los desarrolladores profesionales, las pruebas unitarias son una habilidad necesaria, pero la mayoría de los programadores no tienen la capacidad de TDD (Test Driven Development). Aunque no sigo el patrón de TDD, también escribo pruebas unitarias para el código que escribo o mantengo. Para la ingeniería, los proyectos de código abierto básicamente se adhieren estrictamente a la implementación de pruebas unitarias, mientras que muchos proyectos comerciales carecen de pruebas unitarias. Los proyectos con pruebas unitarias serán más fáciles de mantener y cambiar. Este libro presentará la diferencia entre proyectos exitosos y proyectos fallidos, y la diferencia entre bases de código mantenibles y bases de código que no se pueden mantener. Los ejemplos de este libro son. NET, pero esto no afectará su comprensión de las pruebas unitarias.
Si es director técnico o director de proyectos, este libro puede ayudarle a controlar mejor la calidad del código del proyecto. Si está familiarizado con Java, también puede leer el libro "JUnit in Action" (segunda edición).
5. Gestión y desarrollo de software Lean
Gestión del desarrollo de software Lean es un libro sobre metodología de desarrollo de software. El autor estudia métodos ágiles y eficientes desde 24 perspectivas diferentes en el contexto más amplio del espacio, el tiempo, la industria y la cultura. "Desarrollo y gestión de software lean" explica las razones subyacentes del éxito de los métodos de desarrollo ágiles y lean. "Gestión del desarrollo de software ajustado" incluye el siguiente contenido: pensamiento sistémico, atención adecuada y suficiente a los clientes, tecnología excelente, introducción de las bases para un desarrollo de software excelente: arquitectura de bajo acoplamiento, proceso de desarrollo basado en pruebas, etc. Entrega confiable, discutiendo los procesos y cronogramas de trabajo, y el importante papel de la retroalimentación; Mejora implacable, discutiendo las características básicas de todas las organizaciones lean: mejora continua y nunca satisfecha; personas excelentes, resultados excelentes provienen de personas excelentes; consenso dentro del equipo directivo.
6. Patrón de diseño: la base del software orientado a objetos reutilizable.
O has leído este libro o has oído hablar de él. Este es el clásico libro de patrones de diseño GOF (Gang of Four traducido al chino). Los autores de este libro son Eric Gamma, Richard Helm, Ralph Johnson y John Weisside. Cuatro destacados expertos en el campo de la orientación a objetos seleccionaron cuidadosamente las prácticas de diseño más valiosas, las organizaron, las nombraron y las expresaron de forma concisa y fácil de reutilizar. Este libro se ha convertido en la biblia y el diccionario para los técnicos orientados a objetos, y los 23 patrones definidos en el libro se han convertido gradualmente en el conocimiento y el vocabulario básicos necesarios para la comunicación técnica en la comunidad de desarrollo. Usando estos patrones de diseño, podemos crear diseños escalables que sean flexibles, elegantes y reutilizables.
7. Explicación detallada de PHP
Premio 51CTO "Libro de tecnología de TI original favorito de los lectores"
El propósito de "Detalles sobre PHP" es permitir a los lectores tener Los mejores libros para aprender y desarrollar PHP, y refinar y ampliar cada punto de conocimiento enumerado, esforzándose por explicarlo en su lugar y hacerlo fácil de entender para los lectores. Casi todos los puntos de conocimiento tienen un paquete de código de operación detallado correspondiente, y todos los códigos de muestra van acompañados de comentarios, explicaciones y representaciones de operación detalladas. Además, al final de cada capítulo, se organiza para los lectores una gran cantidad de material didáctico y preguntas de autoevaluación (incluidas en CD-ROM), que pueden ayudarlos mejor a dominar los puntos de conocimiento teórico, mejorar las habilidades prácticas de programación y combinar. aprendizaje con aplicación. Desempeña un papel clave en la entrada y mejora de la tecnología PHP.
Gao Luofeng, autor de "Explicación detallada de PHP". Actualmente, es el director docente de Beijing LAMP Brothers Company [1] (Yidiyou Education), con cinco años de experiencia en desarrollo de software y cuatro años de experiencia docente en TI. Se ha desempeñado como director técnico, gerente de proyectos e ingeniero de software senior en muchas empresas que cotizan en bolsa y tiene sólidas habilidades técnicas. Un profesor nacional certificado senior que ha participado en capacitación en TI hasta ahora. Ha impartido más de 6.000 horas y ha capacitado a casi mil estudiantes para ocupar con éxito puestos en TI. Tiene una rica experiencia en enseñanza de TI.
Libros profesionales y técnicos para programadores
1, La belleza de las matemáticas, segunda edición
La primera edición del galardonado bestseller "La belleza de las matemáticas" " ganó el octavo Premio Libro de Oro de la Biblioteca Nacional.
La primera edición fue seleccionada como uno de los "100 libros excelentes recomendados para adolescentes chinos en 2014" por la Administración Estatal de Radio, Cine y Televisión, y ganó el premio al bestseller de la industria en 2012-2013. .
Los estudiantes universitarios en el campo de la información deben leer buenos libros, y los temas recomendados por CCTV News son un trampolín.
La nueva versión agrega el contenido más reciente, como big data y aprendizaje automático, para satisfacer las necesidades de aprendizaje de las personas sobre las tecnologías actuales. Al mismo tiempo, se han corregido y omitido errores y omisiones en función de los comentarios de expertos y lectores; algunos contenidos han sido actualizados.
La primera edición de "La Belleza de las Matemáticas" fue bien recibida por los lectores y ganó el VIII Premio Libro de Oro de la Biblioteca Nacional. Este lector dijo que después de leer "La belleza de las matemáticas", descubrió que los conocimientos matemáticos aprendidos en la universidad, como las cadenas de Markov, los cálculos matriciales e incluso la función coseno, son muy amigables y vívidos, y que descubrió que el lenguaje natural y el procesamiento de información son muy interesantes. Hoy en día, las matemáticas se utilizan cada vez más en la industria de la información. Por lo tanto, el autor agregó algo de contenido en la segunda edición, especialmente sobre big data y aprendizaje automático, para satisfacer las necesidades de aprendizaje de las personas sobre las tecnologías actuales.
2. La luz de la civilización Volumen 3
El trabajo transfronterizo del Dr. Wu Jun después de los bestsellers "Top of the Wave" y "La belleza de las matemáticas"
Déjame contarte sobre la historia de la civilización humana que, a sus ojos, abarca cinco mil años.
Siente la belleza de la tecnología y la humanidad con los ganadores del Premio de Oro.
Los materiales creativos seleccionados por el autor provienen de lo que ha visto y oído en todo el mundo durante más de diez años, y tiene una profunda experiencia y comprensión de su contenido. Cada capítulo del tercer volumen de la serie "La luz de la civilización" sigue siendo relativamente independiente y todo el libro muestra de manera panorámica la diversidad en el desarrollo de la civilización humana. Cubre ocho temas que incluyen música, arte, computadoras, Internet, finanzas, la inspiración de Silicon Valley en el desarrollo de la ciencia y la tecnología mundiales, partículas y astronomía cósmica, y protección del medio ambiente.
3. Método de construcción: ingeniería de software moderna
Enseñar ingeniería de software de una forma moderna de “aprender haciendo”
El académico Li Wei lo recomienda encarecidamente, y muchos software Los profesores de trabajo lo elogiaron unánimemente.
El trabajo representativo del director de I+D de Microsoft, Zou Xin
Se recomienda que los estudiantes de ingeniería de software aprendan el verdadero significado de ingeniería de software, el verdadero significado de la palabra "ingeniería" y la diferencia. entre la ingeniería de software y la informática. Después de comprenderlo, sabrá por qué la ingeniería de software es una industria con un alto valor laboral.
El libro imagina muchos escenarios de "aprendizaje" y "aprendizaje" y utiliza muchas analogías, lo cual es muy vívido e interesante. Este libro de texto también plantea requisitos más altos para los profesores de ingeniería de software; para los estudiantes, también se enfrentan a la elección de cómo estudiar "cosas secas"
Método de construcción: la ingeniería de software moderna se divide en 17 capítulos. En comparación con las partes relacionadas con la ingeniería de software de la Guía de enseñanza de ciencias de la computación (Currículo de ciencias de la computación 2013) recientemente publicada en los Estados Unidos, este libro de texto cubre la mayor parte del contenido de Core-Tier1 y Core-Tier2. Se puede decir que la cobertura del contenido de ingeniería de software en todo el libro no es menor que la de cualquier libro de texto existente, y también describe los últimos métodos prácticos de la industria.
Un buen libro para programadores.
1. Gödel, Escher y Bach
Puntuación de Douban: 9,4 puntos
Sobre el autor: ¿Douglas? Ricardo. Hofstadter, cuyo nombre chino es Hofstadter, es un erudito y escritor estadounidense. Las principales áreas de investigación incluyen la conciencia, la analogía, la creación artística, la traducción literaria y la exploración matemática. Ganó el Premio Pulitzer (no ficción) y el Premio Nacional de Clásicos (ciencia) por su obra "Gödel, Escher y Bach".
Motivo de la recomendación: Este es un libro celestial. Deambulando entre matemáticas, pinturas, música e historias, exploramos los temas más profundos de la filosofía: cómo se generan la conciencia y el alma, y exploramos la inteligencia artificial y la inteligencia humana desde una perspectiva filosófica. Después de leer el libro, es posible que no pueda recordar demasiados detalles, pero sin darse cuenta descubrirá que ha afectado profundamente su visión del mundo.
2. Introducción al algoritmo
Puntuación de Douban: 9,4 puntos
Sobre el autor: ¿Thomas? Coleman, profesor y presidente del Departamento de Ciencias de la Computación del Dartmouth College; Ressoer Sen es profesor del Departamento de Ciencias de la Computación e Ingeniería Eléctrica del MIT. Actualmente se desempeña como presidente del Grupo de Investigación de Tecnología de Supercomputación del MIT y es miembro del Grupo de Investigación de Teoría Computacional del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT. ¿Ronald? Li, actualmente en el Departamento de Ingeniería Eléctrica e Informática del MIT, es Andrew y Oona. Profesor Andrew y Oona Viterbi. Es miembro del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT y dirige el Centro para la Seguridad y Privacidad de la Información. ¿Ahora es el director de la Sociedad Criptozoológica Nacional? Stan es profesor en los Departamentos de Ciencias de la Computación e Ingeniería y Operaciones Industriales de la Universidad de Columbia. También es el jefe de Ingeniería y Operaciones Industriales.
Motivo de la recomendación: este libro proporciona una introducción completa a los algoritmos informáticos de una manera sencilla y fácil de entender. El análisis de cada algoritmo es accesible e interesante, manteniendo el rigor matemático. Este libro está diseñado para ser completo y adecuado para una variedad de usos. El contenido involucrado incluye: el papel de los algoritmos en los cálculos, análisis de probabilidad e introducción a los algoritmos aleatorios. El libro analiza específicamente la programación lineal, presenta dos aplicaciones de programación dinámica, algoritmos de aproximación aleatoria y técnicas de programación lineal, y también analiza el método de partición y el algoritmo estadístico de series de tiempo lineal esperado utilizados en la resolución recursiva y la clasificación rápida, así como los elementos del algoritmo codicioso. . Este libro también presenta la prueba de corrección del algoritmo de subgrafo fuertemente conectado, la prueba de completitud NP de circuitos hamiltonianos, el problema de suma de subconjuntos, etc.
También te puede interesar:
1. Libros técnicos profesionales compartidos por programadores
2 Libros de lectura obligada recomendados para programadores de Linux
3. Libros recomendados que los programadores de Java deben leer
4. Libros recomendados para adolescentes de la Universidad de Tsinghua
5 Libros de lectura obligada para artistas jóvenes
.