IIC2233 / syllabus-2021-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🚀✨
https://iic2233.github.io
38 stars 49 forks source link

parametros.json: Función #728

Open fernandosmither opened 3 years ago

fernandosmither commented 3 years ago

Entiendo que se debe crear una función que serialice el parametros.json para así pasarle el path a las ventanas, explicado en la issue #689. Sin embargo, no me queda claro dónde iría esta función, ya que tengo entendido que serializar sería pega del backend, y tengo entendido que crear una función serializadora en las mismas ventanas.py sería cohesionar el código.

Lo otro que se me ocurriría, sería crear un módulo backend específico que tenga esta función, sin embargo supongo que sería mala práctica importar esta función desde el frontend, pero si utilizo una señal para pasar este path, eso no sería overengineering?

overengineering
fernandosmither commented 3 years ago

Aprovecho de preguntar, hasta ahora en el curso hemos usado un parametros.py para nuestros códigos, pero asumo que desde ahora en adelante (en el mundo en general) esto no se hace con un .py, y se opta por serializar un .json o parecidos?

dfloreaa commented 3 years ago

Hola, puedes leer el archivo parametros.json directamente usando un metodo de python, de ahí en adelante lo puedes tratar como parametros si viniesen de parametros.py. A tu segunda pregunta, si, en general se guardan los parámetros en un archivo .json

Un saludo 🦝

fernandosmither commented 3 years ago

Hola, puedes leer el archivo parametros.json directamente usando un metodo de python, de ahí en adelante lo puedes tratar como parametros si viniesen de parametros.py. A tu segunda pregunta, si, en general se guardan los parámetros en un archivo .json

Un saludo 🦝

Hola! Gracias por tu respuesta, pero iba más enfocado al hecho de separación de frontend/backend, ya que por mucho que yo ponga "ventanas/miVentana.ui" como un parámetro, tengo entendido que utilizarlo directamente está mal, ya que debo utilizar os.path.join(), no? En ese sentido, vi que en la issue #689 recomendaban crear una función especifica para esto, pero mi problema es que, ¿Puedo deserializar, y utilizar métodos como os.path.join en un módulo Frontend y no backend?

fernandosmither commented 3 years ago

@dfloreaa O por simpleza es aceptable el poquito de cohesión de una función backend en el frontend?

dfloreaa commented 3 years ago

Hola, recuerda que puedes llamar a métodos de tu backend en tu frontend, por tanto, no es necesario implementar la función directamente dentro de este 👀

fernandosmither commented 3 years ago

Hola, recuerda que puedes llamar a métodos de tu backend en tu frontend, por tanto, no es necesario implementar la función directamente dentro de este 👀

Buenisima, pensé que no se podía. Voy a importar el método de backend en mi frontend entonces. Gracias! 😄

Nicolasramos411 commented 3 years ago

Hola! Respecto a este tema. En la T2 nosotros importabamos los parametros desde parametros.py en el main.py y luego, desde el main pasabamos los parametros a las ventanas.

¿No deberiamos hacer esto mismo o podemos crear un archivo con una función que maneje parametros.json y luego, en cada archivo que necesitemos simplemente lo importamos de la manera:

from archivo import funcion_que_maneja_parametros_json ?

Gracias!