¿A dónde va a leer buenos ejemplos de código fuente? [cerrado]

53

He escuchado a algunas personas decir que una de las mejores maneras de mejorar tu capacidad de codificación es leer el código de otros y entenderlo. Mi pregunta, como un programador relativamente nuevo, ¿a dónde voy para encontrar buenos ejemplos de código fuente que no estén demasiado lejos de mi cabeza?

    
pregunta Jesse McCulloch 22.01.2011 - 01:17

5 respuestas

30

Puede navegar por proyectos de código abierto en sitios de repositorio como GitHub , Codeplex , Google Code , o BitBucket . Encontrarás proyectos de diferentes niveles de complejidad, por lo que deberías poder encontrar algo que te interese y que no te sobrevoque al principio.

Otra opción es el Publicaciones del código semanal de Scott Hanselman

Recomiendo comenzar con un proyecto establecido y activo para reducir las probabilidades de comenzar a leer el código que aún no ha sido usado y examinado. Lo ideal es encontrar algo que te interese y que puedas usar. Usar la aplicación te ayudará a entender el código fuente. Otra ventaja de elegir un proyecto de código abierto es que puede contribuir con algunas correcciones o características, lo que ayudará a que la lectura del código sea más interesante.

Mirar un montón de código de otra persona puede ser intimidante, así que comienza con la función main (o equivalente) y avanza desde allí.

    
respondido por el Adam Lear 22.01.2011 - 01:27
10

Muy pocas personas escriben un buen código fuente en su primer intento. Un buen código fuente a menudo es producido por una serie de revisiones. Por lo tanto, si puede encontrar el código fuente que ha sido revisado por pares varias veces y corregido varias veces, probablemente esté en una mejor ubicación. Algunos proyectos de código abierto (y algunas partes de ellos) están particularmente bien revisados. El código proveniente de compañías que tienen ciclos de revisión obligatorios (por ejemplo, Google pero hay muchos otros) puede ajustarse a la factura.

Dicho esto, no estoy seguro de que tu objetivo sea encontrar "código excelente". Debería ser observar diferentes estilos de código (como los escritos por sus compañeros de trabajo) y aprender a identificar los puntos buenos y malos al respecto. Cuantos más puntos negativos identifique, más se esforzará por mejorar su código y saber cómo hacerlo.

En particular, creo que un muy buen enfoque para obtener un buen sentido del código es utilizar el depurador interactivo para rastrear a través de código complejo, siguiendo las cadenas de invocaciones. Por ejemplo, vaya a uno de los archivos principales de su compañía, coloque un punto de interrupción y comience a descubrir las cosas a partir de ellos.

Después de unas cuantas veces te desorientan las funciones de 100 líneas con diez niveles de sangrías y dependencias en las globales, y unas cuantas veces que pasas por un código bien descompuesto, mejorarás tu propia programación.

    
respondido por el Uri 22.01.2011 - 02:32
4

En lugar de encontrar códigos geniales, consulte los Libros de programación general.

por ejemplo Código completo, escritura de código sólido, patrones de diseño (estoy seguro de que hay muchos otros libros en otra pregunta y respuesta en este sitio)

Esos libros describen la filosofía que se considera un buen código. Legibilidad, rendimiento, mantenibilidad, detección de errores, etc.

Lo que sirve a recursos aún mejores y más eficientes que tratar de averiguar lo que el autor intenta lograr.

P.s. Un buen diseño de software es lo que debería estar estudiando también. Lo que sería difícil de reconocer únicamente por los códigos de observación, dado que el proyecto es lo suficientemente grande.

    
respondido por el Zekta Chan 26.01.2011 - 16:03
3

Descubrí que el código de las bibliotecas que vienen con el lenguaje de programación de su elección es a menudo un buen comienzo para ver qué se considera mejores prácticas y buen estilo de codificación.

Aunque no desea comenzar con lugares como algoritmos de clasificación o clases complejas de contenedor.

Otro lugar para obtener información interesante al escribir código es el Proyecto Euler ( enlace ). Ligera desventaja: debe resolver el problema primero para obtener acceso al foro donde otros publicaron sus soluciones (desafíos interesantes para todos los niveles de experiencia). Pero una vez hecho esto, encontrará ejemplos para casi todos los principales lenguajes de programación. Y como ya resolvió el problema, le ayudará a comprender el código de otras personas. Además, podrá ver el código de idiomas que aún no conoce, pero que puede encontrar interesante.

    
respondido por el thorsten müller 22.01.2011 - 08:45
3

Realmente disfruté leyendo Beautiful Code . Tiene ejemplos de código cortos, pero muy agradables, con explicaciones detalladas.

  

... científicos informáticos líderes ofrecen estudios de casos que revelan cómo encontraron soluciones inusuales y cuidadosamente diseñadas para proyectos de alto perfil. Podrá ver por encima del hombro a los principales expertos en codificación y diseño para ver los problemas a través de sus ojos.

     

... Los autores piensan en voz alta a medida que trabajan a través de la arquitectura de su proyecto, las concesiones realizadas en su construcción y cuándo fue importante romper las reglas.

     

Este libro contiene 33 capítulos contribuidos por Brian Kernighan, KarlFogel, Jon Bentley, Tim Bray, Elliotte Rusty Harold, Michael Feathers, Alberto Savoia, Charles Petzold, Douglas Crockford, Henry S. Warren, Jr., Ashish Gulhati, Lincoln Stein , Jim Kent, Jack Dongarra y PiotrLuszczek, Adam Kolawa, Greg Kroah-Hartman, Diomidis Spinellis, AndrewKuchling, Travis E. Oliphant, Ronald Mak, Rogerio Atem de Carvalho y Rafael Monnerat, Bryan Cantrill, Jeff Dean y Sanjay Ghemawat, Simon Peyton Jones, Kent Dybvig, William Otte y Douglas C. Schmidt, AndrewPatzer, Andreas Zeller, Yukihiro Matsumoto, Arun Mehta, TV Raman, Laura Wingerd y Christopher Seiwald, y Brian Hayes ...

    
respondido por el pyvi 26.01.2011 - 15:39

Lea otras preguntas en las etiquetas