Un libro clásico de lectura obligada para programadores.

Los programadores necesitan aprender muchos conocimientos y leer y estudiar constantemente para mejorar. Los siguientes son los libros sobre programadores que les traje. ¡Espero que les sean útiles!

Un libro de lectura obligada para programadores.

1. Refactorización: un clásico inmortal del desarrollo de software que mejora el código existente

¿Qué es la refactorización? En pocas palabras, significa que, sin cambiar el comportamiento externo, mejorar metódicamente tu 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. "Cómo limpiar código" es la obra maestra de Robert Martin, traducida por Lei Han.

Este es uno de mis libros favoritos y lo 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. En mi estantería, están sus "Limpieza de código", "Profesionalismo del programador", "Principios, patrones y prácticas de desarrollo de software ágil", "Principios, patrones y prácticas de desarrollo de software ágil", "UML de Java para programadores" y "Programación extrema". en la práctica" y otros libros. 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 de apertura y cierre, y cómo utilizar 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, que es la famosa enciclopedia de códigos. Desde cierta perspectiva, en realidad es la versión C de la limpieza del código. 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. Codepedia, segunda edición es útil 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 de programación y quiera convertirse en un excelente programador, no se sentirá decepcionado si lee la segunda versión del conjunto de códigos.

4. El arte de las pruebas unitarias

Robert C. Martin, un maestro en desarrollo de software de talla mundial y pionero de los patrones de diseño y el 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 realizar pruebas de desarrollo con TDD. 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 explicará 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 un líder técnico o de proyecto, este libro puede ayudarle a controlar mejor la calidad del código de su proyecto. Si está familiarizado con Java, también puede leer este libro JUnit Segunda edición.

5. Gestión y desarrollo de software Lean

Gestión del desarrollo de software Lean es un libro sobre métodos 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 patrón de diseño Gang of Four de las cuatro traducciones chinas del clásico GOFGang. Los autores de este libro son Eric Gamma, Richard Helm, Ralph Johnson y John Weisside. Cuatro destacados expertos en orientación a objetos seleccionaron cuidadosamente las prácticas de diseño más valiosas, organizaron sus nombres 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 de objetos, y los 23 patrones definidos en el libro se han convertido gradualmente en conocimientos y vocabulario básicos esenciales para la comunicación técnica en la comunidad de desarrollo. Usando estos patrones de diseño, podemos diseñar paquetes extensibles 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 un El mejor libro para aprender y desarrollar PHP, y refinar y ampliar cada punto de conocimiento enumerado, esforzándose por explicarlo en su lugar para que los lectores puedan leerlo fácilmente. Casi todos los puntos de conocimiento tienen un paquete de código ejecutable correspondiente y detallado, y todos los códigos de muestra van acompañados de comentarios, explicaciones y representaciones de ejecución detallados. Además, al final de cada capítulo, se organiza una gran cantidad de material didáctico y preguntas de autoevaluación que coinciden con los puntos de conocimiento de este capítulo para que los lectores los adjunten al CD, lo que puede ayudar mejor a los lectores a dominar los puntos de conocimiento teórico y mejorar la práctica. habilidades de programación y aprender a combinar usos. Desempeña un papel clave en la introducción y mejora de la tecnología PHP.

Gao Luofeng, autor de "Explicación detallada de PHP". Actualmente, es el director de educación y enseñanza de Yi Diyou, Beijing LAMP Brothers Company [1], con cinco años de experiencia en desarrollo de software y cuatro años de experiencia en enseñanza de 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. El profesor certificado de tecnología avanzada de China ha impartido más de 6.000 horas desde que participó en la capacitación en TI. Ha capacitado a casi mil estudiantes para que accedan con éxito a puestos de TI y 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 8º 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 las funciones cosenos, son muy amigables y vívidos, y que descubrió que el lenguaje natural y El procesamiento de la información es muy interesante. 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 premiados 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 utilizando el método moderno de “aprender haciendo”

El académico Li Wei lo recomienda encarecidamente y Muchos ingenieros de software elogiaron al profesor por unanimidad.

El trabajo representativo del director de I+D de Microsoft, Zou Xin

Se recomienda que los estudiantes de ingeniería de software comprendan 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 animado 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 en la guía de enseñanza de ciencias de la computación recientemente publicada "Computer Science Curriculum 2013" por ACM/IEEE2013, 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 Richard Hofstadter (Douglas Richard Hofstadter), el nombre chino es Hofstadter. , 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 de no ficción y la Medalla Nacional de Clásicos de ciencia por su obra "Gödel, Escher y Bach".

Motivo de la recomendación: Este es un libro celestial. Al pasear entre matemáticas, pintura, música e historias, explorarás las cuestiones más profundas de la filosofía: cómo se generan la conciencia y el alma, y ​​explorarás 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 a los algoritmos

Puntuación de Douban: 9,4 puntos

Sobre el autor: Thomas Coleman, profesor, presidente del Departamento de Ciencias de la Computación de Dartmouth College Charles Ressoer, 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 también 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 Livingstone es actualmente profesor Andrew y Oona Viterbi en el Departamento de Ingeniería Eléctrica e Informática del MIT. 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.

Actualmente es el director de la Sociedad Criptozoológica Nacional; Clifford Stein es profesor de los Departamentos de Ciencias de la Computación e Ingeniería Industrial y Logística de la Universidad de Columbia. También es Jefe de Ingeniería Industrial y Logística.

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. Los contenidos cubiertos incluyen: el papel de los algoritmos en los cálculos, introducción al análisis de probabilidad y algoritmos aleatorios. Este libro analiza específicamente la programación lineal e introduce dos aplicaciones de programación dinámica, algoritmos de aproximación aleatoria y técnicas de programación lineal. , así como los métodos de partición y los algoritmos estadísticos de series de tiempo lineales de expectativa utilizados en la resolución recursiva y la clasificación rápida, y se analizan los elementos de los algoritmos codiciosos. 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.