2009-07-09 16 views
15

Soy un desarrollador de vC++ (pero como Qt) interesado en aprender de un proyecto de código abierto contribuyendo y leyendo el código. Utilizo Windows como plataforma de desarrollo primaria. ¿Qué proyecto será el adecuado para mí comenzar?¿Proyecto de código abierto para el desarrollador de C++?

¿Es chromium una buena opción?

+11

La pregunta que debes hacerte es "¿qué herramientas de FOSS uso actualmente? ¿Qué les pasa? ¿Cómo podría mejorarlas?" –

+0

Pero me preocupa aprender de una buena fuente – yesraaj

+1

Si desea aprender del código fuente, es poco probable que también pueda hacer contribuciones útiles al proyecto, y viceversa, si puede contribuir con el proyecto, probablemente no aprenderá mucho nuevo leyendo el código. ¿Cuál quieres? ¿Contribuir o aprender? – jalf

Respuesta

34

¿Es el cromo una buena opción?

Creo que sí, sí!

El código fuente está IMO muy bien escrito, es un proyecto muy activo con mucho trabajo por hacer y también es interesante en muchas formas diferentes. Obviamente, un navegador es en sí mismo solo una combinación de bibliotecas específicas, por lo que Chromium te brinda una buena entrada para aprender más sobre ellos y, con suerte, contribuir de manera evidente. Pero lo más importante es que tiene una gran comunidad, está patrocinado por una gran corporación y tiene muchos talentosos ingenieros de software en su equipo central.

Hay tantas cosas que hacer, por lo que incluso podría contribuir cosas que sabe mientras aprende cosas que usted no sabe.


Me gustaría agregar; La elección de un proyecto de código abierto para unirse debe basarse en:

  1. Su nivel de conocimientos especializados que
    • Qué desea aprender
    • Calidad del código
    • madurez del proyecto
    • Código complejidad (que no debe confundirse con la legibilidad)

Aquí solo hablo por mí mismo, pero a pesar de que me encanta aprender más de proyectos demasiado complejos (sistemas de archivos, RDBM, etc.) encuentro que esos proyectos son menos gratificantes debido a la abrumadora complejidad. Trate de no aprender todo de una vez, tome pasos más pequeños y termine lo que comienza en lugar de dar pasos más grandes y darse por vencido.

Sólo mi 2c - YMMV


En caso de que le quiere probar cromo cuidado, aquí están los enlaces de los documentos de diseño:

  • Getting around the source code explica con gran detalle cómo el árbol de proyectos la estructura está construida.
  • El Engineering design docs explicar la arquitectura, la mayor parte bajo el capó y el trabajo futuro
  • El user experience design docs dar una idea de todo lo que toca al usuario, es decir el comportamiento y aspecto.
  • Tech Talk Videos que son muy útiles para comprender algunos problemas y decisiones clave de ingeniería, incluso si no tiene la intención de unirse al proyecto de cromo.

Los enlaces de arriba están tomados del Chromium developer documentation, donde se pueden encontrar más detalles.

De todos modos, ¡buena suerte encontrar un proyecto que se adapte a sus necesidades!

+3

+1 - A la luz del reciente anuncio de Google sobre el próximo sistema operativo Chrome, que se dice que depende en gran medida del navegador Chrome. Estar familiarizado con Chromium podría darte una buena ventaja. Solo desearía tener el tiempo para involucrarme en algo así ... – eran

+0

Buena respuesta. También +1 por sugerir no aprender todo de una vez. – asgs

16

Participe en el proyecto Qt Creator.

+2

+1 Buena recomendación – yesraaj

+0

¿Puede decirnos algo sobre Qt Creator y por qué es bueno intentarlo? –

+3

Qt Creator es un gran IDE pero con más contribuyentes podría ser excelente. Solo es v1.x, por lo que hay un amplio margen para nuevas funcionalidades y el OP mencionó Qt. – Rob

4

Bueno, creo que hay muchos proyectos de código abierto interesantes que usan C++. Boost es el primer proyecto en el que uno puede pensar. Es una biblioteca, pero está muy bien escrita, por lo que aprenderá mucho. Si quieres algo más divertido, puedes probar algo como un motor de juegos como Ogre3D. Si desea participar en un proyecto con enlaces Qt, sugiero proyectos relacionados con KDE, ya que utilizan principalmente Qt, AFAIK.

Boost

Ogre3D

+2

El enlace debe ser ogre3d.org not .com: .com es spam. – atas

+0

He reparado el enlace. – Zifre

+0

@atas, zfire: gracias. La única vez que no he usado cortar y pegar;) – neuro

5

Google tiene una gran cantidad de proyectos de código abierto de C++. Específicamente, los perftools (malloc de reemplazo, perfilador de heap/CPU) necesitan considerable experiencia en Windows y x64.

http://code.google.com/hosting/projects.html

3

¿qué tal webkit sobre el proyecto de código abierto motor de renderizado?
Espero que ayude.

9

KDE tiene un montón de código en C++/Qt. Es un gran ejemplo de comunidad de fuente abierta ... su repositorio SVN pronto tendrá números de confirmación de 7 dígitos (http://websvn.kde.org/).

+0

KDE es genial, pero dijo que principalmente usa Windows. (Y sí, lo sé, funciona en Windows, pero muy pocas personas lo hacen). – Zifre

+2

Esa es la razón por la que propuse eso. Me encantaría ver más interés en ejecutar KDE en Windows :-) – liori

2

Launchy

desde la página del proyecto de introducción

Launchy es un Windows libres y utilidad Linux diseñadas para ayudar a olvidarse de su menú de inicio, los iconos en el escritorio, e incluso su archivo gerente.

Launchy indexa los programas en su menú de inicio y puede iniciar sus documentos, archivos de proyecto, carpetas y marcadores con solo unas pocas teclas.

También tienen una interfaz de complemento para que pueda comenzar escribiendo un complemento antes de comenzar a trabajar en el código real.

1

Disfruté trabajando en Code::Blocks. No es un proyecto trivial, pero aún así debes ser capaz de entenderlo para contribuir. :)

Lo más importante es trabajar en algo que desea trabajar en.

1

wxWidgets es mejor para los desarrolladores de C++ que tienen conocimiento sobre MFC y Windows. Qt usa compiladores MOC para generar código C++. En wxWidgets tienes control total de tu código.

2

participar en un concurso de Qt como: Pimp My Widgets y QtCentre concursos de programación

1

Se podría tratar de ayudar con el puerto de KDE a Windows. KDE es un entorno de escritorio tradicionalmente hogareño en sistemas Linux/Unix, pero ahora tiene puertos (nativos) para Windows y MacOS X.

Puede ayudar a que esas aplicaciones rindan y se integren mejor con Windows. Trabajar en ciertas aplicaciones sería muy apreciado (por ejemplo, Amarok, un reproductor de música avanzado, digiKam, una aplicación avanzada de administración de fotografías digitales) ya que serían buenas opciones de código abierto para los usuarios de Windows.

Puede obtener una buena visión general de cómo participar en el KDE for Windows TechBase article.

De todos modos, buena suerte ;-) elegir

0

Antes de leer la pregunta real, cromo fue mi primer pensamiento. Definitivamente creo que vale la pena.

1

No creo que nadie aquí realmente pueda responder la pregunta "¿Cuál proyecto será el adecuado para mí comenzar?" como nadie aquí realmente sabe quién eres. La programación es un área absolutamente GRANDE, puede hacer código de sistemas de bajo nivel (por ejemplo, controladores & OS), bases de datos, navegadores web, juegos, procesamiento de textos, y la lista continúa.

Lo que debe hacer es encontrar algo en lo que le gustaría trabajar y comenzar a jugar con el código. Pruebe varios proyectos diferentes en esa área y vea lo que puede comprender, contribuir y aprender (también es una buena forma de ver una variedad de paradigmas de programación). Además, si también está tratando de aprender de esto, debe verificar cuánta ayuda y comunicación entre los miembros del proyecto hay y cuánto parecen estar dispuestos a ayudarse unos a otros (y si casi no hay comunicación). , me preocuparía que el proyecto sobreviviera mucho más de todos modos).

0

Si te gustan los juegos, prueba con Half Life 2.2 Full SDK. Es gratis y puedes hacer tus propios mods.

Cuestiones relacionadas