Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMaría Rosa Río Aguirre Modificado hace 7 años
1
Cómo perder la virginidad (o cómo escribir y mandar tu primer parche)
Federico Mena-Quintero novell.com GUADEC 2006, Vilanova i la Geltrú
2
Antes de comenzar Disculpen mi idioma No hablo catalán
3
¿Eres estudiante? Todavía no sabes programar muy bien
Tu inglés no es muy bueno No tienes dinero
4
¿Cómo me vuelvo un buen programador?
Mucha práctica Horas-nalga Aprende de los expertos
5
¿Cómo obtengo práctica?
Los ejemplos de un libro no son suficientes Los ingenieros mecánicos aprenden a destripar automóviles Los músicos estudian las grandes obras Hay que destripar y modificar programas reales
7
¿De dónde saco un programa real para modificarlo?
¡Bienvenido a GNOME y al software libre! Todo lo puedes examinar y cambiar
8
¿Por donde empiezo? Escoge tu programa favorito
Compílalo por primera vez Piensa en algo sencillo que quieras cambiarle No trates de re-escribir todo Modifica el código Crea un parche Manda el parche al autor del programa Fama y gloria
9
¿Cómo compilo el @#$% programa?
Sigue las instrucciones configure; make; make install O utiliza el .src.rpm O como quiera que se llame eso en Debian
10
¿Cómo modifico el programa?
Aprende a leer código ajeno Aprende a usar un debugger (depurador) Si te atoras, pregúntale al autor Cambia algo y ve qué pasa
11
Ya que estés satisfecho con tus cambios...
“Hola, soy Fulano de Tal y le añadí una función nueva a tu programa. Aquí te mando 500 archivos para que puedas ver los cambios que les hice”
12
Hazle la vida fácil al autor
Necesita saber qué cambios hiciste Necesita saber por qué hiciste esos cambios Necesita que tus cambios se integren bien al resto del programa
13
¿Qué cambios hice? diff -up viejo.c nuevo.c > parche.diff
--- gaim orig/src/gtkconv.c :13: +++ gaim-1.5.0/src/gtkconv.c :21: , ,7 gaim_gtkconv_write_conv(GaimConversation g_snprintf(str, 1024, "***%s", who_escaped); if (flags & GAIM_MESSAGE_NICK) - strcpy(color, "#AF7F00"); + strcpy(color, "#FF0000"); else strcpy(color, "#062585"); }
14
¿Por qué hice esos cambios?
ChangeLog: Bitácora de cambios Federico Mena Quintero * src/gtkconv.c (gaim_gtkconv_write_conv): Paint the user's nickname in RED instead of GOLD.
15
¿Cómo me aseguro de que mis cambios se integren bien al programa?
Sigue el estilo de código Indentación Nombres para las funciones y variables Ten cuidado con el manejo de recursos Si necesitas pedir memoria, libérala Si necesitas abrir archivos, ciérralos
16
Detalles lindos Si no estás satisfecho con tu parche, pregúntale al autor cómo mejorarlo Si haces cambios a la presentación, manda pantallazos de antes y después
17
Ya que mandaste tu primer parche...
¡Felicidades! Escribe el siguiente y mándalo
18
Eso es todo Gracias a todos por venir
Charla de Germán Poo: Cómo extender GNOME Charla de Germán Poo: Tutorial de PyGTK Charla de Rodrigo Moya: Tutorial de programación GNOME/GTK+
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.