2011-01-09 13 views
6

Me gusta leer el código de código abierto para ver cómo se han resuelto problemas particulares, o simplemente para estudiar cómo crear código agradable y limpio.¿Hay algún libro que estudie código abierto de Java?

Me preguntaba si realmente había algún buen libro que vaya a través de extractos de diferentes (preferiblemente en Java) proyectos de código abierto para mostrar cómo se han utilizado e implementado los patrones, algunos trucos ingeniosos, etc.

Actualización: Tomé patrones de diseño como ejemplo, pero no es realmente lo que estoy buscando. Leí un montón de código abierto, y a menudo encuentro formas interesantes de hacer cosas en las que no había pensado antes: mi pregunta es si hay un libro que muestre algún código de código abierto "genial", un poco como cómo Clean Code usa el código FitNesse para ilustrar la refactorización y otros puntos.

+1

Usted está buscando ejemplos de código específicamente o sólo patrones en general? Si hay patrones, hay bastantes libros sobre varios patrones y la mejor forma de aplicarlos (y estoy seguro de que la gente aquí estará más que feliz de ofrecer recomendaciones). – R0MANARMY

Respuesta

5

Bueno, puedes leer un libro sobre el proyecto de código abierto, y los autores pueden mostrar qué y cómo. P.ej. Leí Pro Spring 2.5 e incluso hay un capítulo llamado "Patrones de primavera" con una explicación de por qué y cómo llaman a los archivos, directorios, patrones de diseño que usan e invitan a usar, etc. Probablemente echen un vistazo a los libros sobre proyectos de código abierto que investiguen.

ACTUALIZACIÓN (inserte ese párrafo para ampliar la respuesta :): como dije anteriormente, puede consultar los libros sobre proyectos de código abierto y encontrar allí información sobre cómo se desarrolla este proyecto, cuestiones arquitectónicas, etc. para un buen ejemplo real del uso del "principio abierto/cerrado", la teoría es buena, pero no diría que es tan clara cómo usarla. El único libro que me ayudó fue Expert Spring MVC and Web Flow (ya te indiqué libros de google con ese capítulo que leí). No leí todo el libro, pero estoy seguro de que contiene muchas de esas cosas (qué y cómo se usó para hacer Spring). Del libro Clean Code: A Handbook of Agile Software Craftsmanship recuerdo que hay un capítulo, cuando toman un código de un proyecto de código abierto y lo mejoran (desafortunadamente, el código abierto no significa que sea lo suficientemente bueno); ese libro también contiene referencias a cómo otros proyectos fueron escritos (por ejemplo, jUnit). No conozco ningún libro, que esté completamente dedicado a cualquier proyecto, solo hay libros donde está "teoría" y libros sobre proyectos que pueden tener alguna explicación de lo que hay adentro. Recomendaría los libros de APress (serie Pro y Expert, los libros "principiantes" de afaik no contienen esa explicación) y Packt Publishing: su tema principal es el código abierto.

ACTUALIZACIÓN 2 (simplemente no puede parar :) Sólo recordado nueva serie de libros de OReilly "Beautiful ...." - Nunca leí, pero me miraba a través. En realidad, consiste en diferentes historias detrás del desarrollo, historias reales de la vida. Veo que también hay Beautiful Code: Leading Programmers Explain How They Think - Debo contener lo que necesita. Otros libros "bellos" también pueden valer la pena.

Acerca de los patrones, en general, hay una gran cantidad de buenos libros, y que depende de qué es exactamente lo que busca. P.ej. Head First Design Patterns es bastante bueno para explicar patrones comunes de manera divertida. Si necesita más, puede echar un vistazo al Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions para ver cómo se pueden integrar diferentes aplicaciones, sistemas, etc. (y cómo los proyectos de fuente abierta también lo hacen). Etc.Sólo especifique lo hacen los patrones o trucos que desea leer sobre, la comunidad hará su sugerencia;)

Algunos enlaces a las webs de mis favoritos:

  1. Anti Patterns Catalog - sabe lo que no se va a hacer!
  2. Design Patterns y Martin Fowler's Catalog - que es poco sobre lo que es bueno para su uso y saber sobre
  3. SOA patterns - sitio de la comunidad de patrones de SOA (integración, etc.)

Y algunos libros más que echar un vistazo a:

  1. Head First Object-Oriented Analysis and Design
  2. Agile Software Development, Principles, Patterns, and Practices
  3. Code Complete - este libro es sólo una biblia de cómo escribir código ...

personas, que desarrollan código abierto sin duda saben lo que son esos libros sobre;)

Espero que ayude

ACTUALIZACIÓN (25-05-2011) acaba de encontrar un libro, que sin duda va a comprar, y creo que se adapta perfectamente a su pregunta:

The Architecture of Open Source Applications
enter image description here

Los arquitectos ven en miles de edificios durante su formación, y estudian las críticas de aquellos edificios escritas por los maestros. En contraste, la mayoría de los desarrolladores de software solo conocen bien algunos programas grandes, generalmente programas que ellos mismos escribieron, y nunca estudian los grandes programas de la historia. Como resultado, repiten los errores de los demás en lugar de apoyarse en los éxitos de los demás. El objetivo de este libro es cambiar eso. En él, los autores de veinticinco aplicaciones de código abierto explican cómo está estructurado su software y por qué. ¿Cuáles son los principales componentes de cada programa? ¿Cómo interactúan? ¿Y qué aprendieron sus constructores durante su desarrollo? Al responder estas preguntas, los colaboradores de este libro brindan ideas únicas sobre cómo piensan. Las versiones electrónicas de La arquitectura de las aplicaciones de código abierto para lectores electrónicos estarán disponibles para su descarga en breve.

+0

Algunas de estas sugerencias de libros son realmente excelentes, pero lamentablemente no alcanzan lo que estoy buscando: por ejemplo, Head First Design Patterns es muy bueno, pero no brinda ejemplos de la vida real. El código completo también es una lectura fantástica, pero no es lo que estoy buscando, ya que solo proporciona pequeños ejemplos para ilustrar los puntos clave. –

+0

Veo lo que quiere decir, entonces sugeriría ese libro sobre Spring en el primer párrafo. Una vez que busqué el uso del "principio abierto/cerrado" y la mejor explicación que encontré en un libro ... entiendo su punto y voy a extender un poco mi respuesta. Gracias por señalar – Maxym

+0

Hice incluso segunda ronda para completar mi respuesta. Espero que ayude ... De lo contrario, comento mi respuesta, y voy a pensar más;) – Maxym

0

mejor libro de Java por ahí es absolutamente Head First Java, nunca he visto/leído un libro tan divertido como este + que explica las cosas difíciles en la forma más simple y más divertidos. Pero este libro es un poco viejo, pero creo que está bien si estás aprendiendo los conceptos básicos de Java

1

Buena pregunta. Pero dudo si hay un libro basado en un proyecto real. Pero para responder a su parte "buena y limpia", Josh Bloch's Effective Java es el libro correcto.

1

no estoy seguro de si hay algún ejemplo de Java (I poseer los libros, pero no los traen a la escuela), pero si usted está buscando consejos generales sobre cómo leer el código y evaluar su calidad, es posible estar interesado en Code Reading y Code Quality por Spinellis. Basándome en su pregunta, sospecho que Code Reading es más acorde con lo que usted desea: analiza cómo puede leer códigos desconocidos de manera efectiva antes de editarlos, comprender códigos complejos, etc.

Cuestiones relacionadas