He escuchado a algunas personas decir que una de las mejores maneras de mejorar su capacidad de codificación es leer el código de otros y comprenderlo. Mi pregunta, como programador relativamente nuevo, ¿dónde voy a encontrar buenos ejemplos de código fuente que no estén demasiado lejos de mi cabeza?
learning
source-code
Jesse McCulloch
fuente
fuente
Respuestas:
Puede explorar 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 al principio no te pase por alto.
Otra opción son las publicaciones de blog del Código fuente 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 utilizado y analizado. Idealmente, encuentre algo que le interese y que pueda usar. Usar la aplicación te ayudará a entender el código fuente. Otro beneficio 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 fijamente el código de alguien más puede ser intimidante, así que comienza con la
main
función (o equivalente) y avanza desde allí.fuente
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 que proviene 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 un "código excelente". Debe 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.
En particular, creo que un enfoque muy bueno para obtener un sentido de buen código es utilizar el depurador interactivo para rastrear códigos complejos, siguiendo las cadenas de invocaciones. Por ejemplo, vaya a uno de los archivos principales de su empresa, coloque un punto de interrupción y comience a descifrar cosas a partir de ellos.
Después de algunas veces que te desorientan las funciones de 100 líneas con diez niveles de muescas y dependencias de los globales, y unas pocas veces que navegas por un código bien descompuesto, mejorarás tu propia programación.
fuente
En lugar de encontrar buenos códigos, busque en los libros de programación general.
por ejemplo, código completo, escribir 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ún mejores recursos y más eficiente que tratar de averiguar lo que el autor intenta lograr.
Ps. El buen diseño de software es lo que usted también debe considerar. Lo cual sería difícil de reconocer únicamente por la observación de códigos, dado que el proyecto es lo suficientemente grande.
fuente
Descubrí que el código de las bibliotecas que vienen con el lenguaje de programación de su elección a menudo es un buen comienzo para ver lo que se considera mejores prácticas y un buen estilo de codificación.
Aunque no desea comenzar con lugares como algoritmos de clasificación o clases complejas de contenedores.
Otro lugar para obtener ideas interesantes al escribir código es Project Euler ( http://projecteuler.net/ ). Ligera desventaja allí: primero debe resolver el problema 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 dado que ya ha resuelto el problema, le ayudará a comprender el código de otras personas. Además, puede ver el código de idiomas que aún no conoce, pero que puede encontrar interesantes.
fuente
Realmente disfruté leyendo Beautiful Code . Tiene ejemplos de código cortos pero muy agradables con explicaciones detalladas.
fuente