Closed rickyah closed 10 years ago
@rickyah Cmake crea bastante bien las soluciones para Visual Studio.
Ok pon la lista así tenemos todos una guía. ;)
Aquí está el listado de cosas a cambiar
Esto nos permitirá que al generar la librería simplemente tengamos que copiar el folder src/GDE/include y tengamos todos los headers de la librería.
Otros cambios importantes respecto a la organización del código:
Los tipos de datos que sólo tienen que ver con el log, están ahora en el header del log, por ejemplo los LogLevel. También hay una función global defaultLogHandler
que habría que ver dónde meterlo.
Hay una variable global static std::ofstream logFile;
definida en App.cpp:8, a ver si podemos quitarla de ahí y meterla como parte de la clase App, al menos no estará en el namespace global.
Recomendaría renombrar la clase Log
a Logger
ya que al estar metida en el namespace Log
, cuando hacemos referencia a ella hay que escribir: GDE::Log::Log
Creo que usar GDE::Log::Logger
es más descriptivo.
Ya está el PR en #76
He tenido que hacer un merge con lo último de master por que como hemos tenido unos cuantos PRs que no he podido revisar hacer un rebase era la muerte. Si es necesario hacer un rebase nos juntamos para revisar el código y se hace, pero si lo hago yo por mi cuenta fijo que fastidio algo.
@rickyah El push request que has solicitado rompe el proyecto tal como está?
No, no lo rompe, como digo está actualizado desde master. Si es necesario píllate mi rama para probar en tu local.
O puedes pillarte el Pull Request, que son como unas ramas especiales: https://gist.github.com/piscisaureus/3342247
Cierro entonces este issue
Quería comentar un poco la organización de los ficheros de código en el filesystem, que la veo muy limitada, al parecer es la que usa por defecto Visual Studio.
Para empezar, dividir en dos directorios por headers y fuentes no me parece la mejor opción. Si la más cómoda a la hora de distribuir (copias el compilado, y luego el directorio de headers) pero a mi criterio lo lógico sería agrupaciones que tengan más sentido (después de todo si queremos distribuir los headers podemos hacer un script que los copie a otro directorio)
Por ejemplo, para los dos proyectos, el engine en si y el test, duplicamos la estructura de directorios:
Lo que propongo inicialmente es lo siguiente:
Así cada proyecto tendría sus propios ficheros, y sólo esos.
Incluso iría un paso más allá y organizaría los datos en el proyecto por modulos que tengan sentido juntos, por ejemplo, para el sistema de lob
Esto permitiría una navegación más sencilla en el momento en el que las cosas empiecen a crecer, que lo harán. También creo que, de hacerlo, lo mejor es hacerlo ahora que hay pocos ficheros.