2009-05-04 21 views
15

Estoy aprendiendo C++ como primer idioma. Siento que estoy a punto de llegar a un límite en mi aprendizaje (no estoy aprendiendo a través de una clase) si no empiezo a buscar el código actual pronto. Aquí están mis dos preguntas principales:¿Dónde puedo encontrar un buen código fuente de C++?

  1. ¿Dónde puedo encontrar el código
  2. fuente ¿Qué es una buena prueba de fuego en la calidad del código (que, obviamente, nunca he desarrollado en un ambiente de trabajo)

I Espero que esto sea relevante para SO, pero puedo ver la necesidad de cerrar esto. Gracias por la ayuda.


relacionadas:

Examples of "modern C++" in action?

Respuesta

12

Google Code University le permite buscar a través de temas de programación y recursos de muchas de las escuelas de ciencias de la computación del mundo.

Google Code University

+5

El enlace está muerto. – Carlton

1

la red es hasta los topes de código C++ de código abierto. ¿Por qué no elegir algunos de esos proyectos y, aún mejor, comenzar a ayudarlos? ¡No hay mejor forma de aprender que haciendo!

+0

¿Tiene alguna recomendación en particular? Estoy tratando de aprender C++ también. Y aunque puedo encontrar fácilmente una gran cantidad de proyectos de código abierto en la web, es difícil para mí decir cuáles son ejemplos de código "bueno". Mi instinto me dice que algo como Firefox o OO.org deberían tener un buen código, pero ¿podría haber proyectos de código abierto más pequeños que sean más adecuados para un novato? – Calvin

4

Creo que sus dos mejores opciones para encontrar el código C++ son ir a los repositorios de fuente abierta popuplar.

Todos ellos tienen C++ proyectos de alta calidad que puede tomar un vistazo a. No creo que haya una gran métrica para juzgar la calidad a gran escala. Comenzaría con los proyectos más populares que pueden tener más probabilidades de tener código de calidad.

0

Recomendaría recibir un buen libro, ¡que estará lleno de ejemplos de código fuente!

C++ in a Nutshell

También puede buscar en el código fuente abierto en www.koders.com

+0

Tengo los libros, pero hay un problema con los libros: te enseñan a resolver problemas específicos, no cómo resolver problemas. – jkeys

6

recomendaría Boost. Usar Boost simplificará el diseño de su programa. El código fuente de Reading Boost puede mostrarle cómo usar C++ para resolver algunos problemas desafiantes de forma concisa.

Esta biblioteca adicional está escrita en C++, en una forma revisada por pares, y tiene un alto nivel de calidad.

+5

Usar Boost es genial, pero no recomendaría leer el código fuente de Boost a un estudiante de C++; se basa demasiado en técnicas avanzadas como la metaprogramación de plantillas y se vuelve demasiado abarrotada (por necesidad) con varias soluciones provisionales del compilador. –

+7

Sugerencia ridícula. –

+0

@infacto, ¿te importa elaborar? Encontré el comentario de Josh Kelley muy constructivo. ¿Qué le gustaría agregarle? –

-1

C++ es un gran lenguaje, pero un poco pesado como primera lengua. Pruebe python.

1) ¿Dónde puedo encontrar el código fuente

código de lectura es más difícil que escribirlo.Esto es especialmente cierto para lenguajes grandes y complejos como C++. Sin conocer las complejidades del lenguaje, no tienes muchas posibilidades de obtener conocimiento del código complejo que otros escriben en producción. Tendrás que aprender las partes más pequeñas primero, por tu cuenta, escribiéndolas. A medida que aprendes C++, también aprenderás a programar.

2) ¿Qué es una buena prueba de fuego en la calidad del código

No hay una sola. Tampoco va a ser algo fácil de aprender. Viene de la experiencia. Pero, en realidad, la forma en que conoce el buen código de lo malo, es que después de que haya tenido un tiempo para familiarizarse con el diseño de un proyecto, puede comprender lo que hace cualquier pieza, después de verlo. El código legible tiene calidad, mientras que el código confuso se queda corto.

Ver el código de otras personas es una forma difícil de aprender los conceptos básicos. Busque tutorial en la red y moje sus pies de esa manera. Estoy seguro de que hay muchos, bien printed books sobre el tema también.

A medida que avanza, y se queda atascado o confundido o perdido, publique sus preguntas here.

+1

Ya he escrito varios programas y algoritmos ... No me parece abrumador, solo requiere más tiempo. Además, no se me puede pedir que empiece a aprender otro idioma hasta que tenga una mejor comprensión de este. – jkeys

+0

Esta no es una respuesta a la pregunta. Tengo el mismo dilema en este momento, en el que necesito ver el código fuente profesional (o semiprofesional) para aprender a hacer las cosas interesantes. Sin hacer eso, podría descubrir qué características cumplen, pero podría no saber cómo unir todo para construir un proyecto muy bien pulido. Me gustaría aprender más sobre C++. Ya sé lo suficiente que sería casi una pérdida de tiempo volver y empezar de nuevo con un idioma diferente cuando hay incluso menos documentación, tutoriales, referencias, etc. –

0

Creo que ya obtuvo algunas buenas respuestas, me gustaría agregar estas sugerencias para elegir un proyecto de uno de los repositorios de proyectos de código abierto: Elija un proyecto ampliamente utilizado pero preferiblemente más pequeño que haya existido por un tiempo y objetivos un dominio en el que está específicamente interesado. De esta forma podrá obtener una mejor idea del código de producción preparada y podrá aprender algo sobre ese dominio.

0

He encontrado el código fuente y la documentación de POCO son bastante legible y

  1. a diferencia de otros proyectos de código abierto que se centran en el manejo de un problema específico, dicen GUI o registro, esta biblioteca se centra en el desarrollo una aplicación completa, cubriendo así un área bastante amplia (sistema de archivos, procesamiento de texto, redes, registro, etc.).
  2. utiliza modismos modernos de C++. Entonces, al leer la implementación, también puedes aprender habilidades modernas de C++.
0

Yo recomendaría OpenSG Es un tema interesante, que utiliza modelos de concurrencia, trabajo en red, incluye enlaces a artículos científicos, está bien documentado, utiliza real de C++ no c con objetos cosas y casi todas subparadigmas y no lo hace abusar de ellos, es fácilmente accesible y que habría adivinado ... soy un fan de ella;)

OpenSG - Home

Cuestiones relacionadas