Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Organización de un proyecto C++

Estas en el tema de Organización de un proyecto C++ en el foro de C/C++ en Foros del Web. Hola. He estado aprendiendo C++ mediante libros, tutoriales y guías, y ya sé hacer lo más básico, pero a la hora de iniciar un proyecto ...
  #1 (permalink)  
Antiguo 19/11/2010, 13:06
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 10 meses
Puntos: 19
Organización de un proyecto C++

Hola.

He estado aprendiendo C++ mediante libros, tutoriales y guías, y ya sé hacer lo más básico, pero a la hora de iniciar un proyecto no sé como organizarlo. (En estas guias solo se van a programas simples y concretos para explicar lo que toca).

El programa es algo complejo que eso, en realidad no mucho, pero lo suficiente para que sea necesario dividirlo en varios archivos.

Estoy en un entorno linux, estaba programando con CodeBlocks includeando archivos sin ningún orden, y estoy intentando pasarlo a Netbeans para hacerlo algo más serio y me estoy volviendo loco.

Bueno, voy allá con mis preguntas:

- ¿Dónde debo definir las funciones? (funciones para tareas sencillas, algunas veces llamadas "helpers").
- ¿Dónde debo includear las librerías que necesite?
- ¿Dónde debo definir las variables globales?
- ¿Dónde debo definir las estructuras?

La única clase que tenía, la había hecho de forma lineal (implementación dentro de la definción), ya la he dividido en un fichero .h con la definición y un .cpp con la implementación, y estoy pensando en dividirla en otra porque se ha hecho demasiado grande y crear una para la función de logeo (ahora solo tengo una función), pero para terminar de pasar el proyecto y organizarlo bien me encuentro con los problemas descritos arriba.

Gracias.
  #2 (permalink)  
Antiguo 19/11/2010, 18:03
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Organización de un proyecto C++

Yo primero en principal haria un archivo Makefile para no depender de codeblock o de Netbeans.
Este archivo le decis como compilar y te lo hace todo automatico ejecutando el comando make.

Todo lo que sea declaraciones de estructuras, encabezados de funciones y demas deberian in en los archivos .h

Con las variables globales vas a tener que tener cuidado. Solo las podes definir una sola vez. Despues tenes que hacer referencia mediante a extern si queres accederlas desde "otro archivo".

Es una buena costumbre usar esto en los .h:
#ifndef bandera
#define bandera
//Codigo del archivo
#endif

Eso evita que el compilador te declares varias veces los mismo. Cuando empiezas a poner muchos includes todos cruzados o anidados entre varios archivos .c para que cada uno tenga las definiciones correctas, te van a saltar muchos probleas de doble definicion. Con eso que te pase te puede ayudar a corregir las cosas.

Con respecto a como dividir las cosas. Eso depende de vos y de cuando te entiendas. Seria bueno que crees archivos para cada clase. Puede separar por usos las cosas. Por ejemplo como dijiste vos todo lo que tengo que ver con login lo pones en otro archivo.

Etiquetas: proyectos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:36.