IIC2233 / Syllabus-2023-1

75 stars 44 forks source link

Librerías permitidas, no permitidas y malas prácticas T2 #290

Closed gecoli closed 1 year ago

gecoli commented 1 year ago

Para consultar sobre una librería deben responder esta issue con una pregunta de la siguiente forma:

¿Puedo usar la librería nombre_librería para hacer explicación_de_lo_que_quiero_hacer?

Toda librería que tenga que instalarse (fuera de PyQT5/QtDesigner) no está permitida.

¡Recuerden especificar en su README qué librerías utilizan!


Librerías Permitidas

Librerías Prohibidas

☠️ Built-ins Prohibidos

El uso de alguna de las siguiente funciones es automáticamente un 1,0 sin discusión: 😭

Malas prácticas

El uso de las siguientes prácticas será considerado una mala práctica:

¡Ánimo y éxito en sus tareas! 👻🧱🔥

plourido commented 1 year ago

Hola que tal? ¿Puedo usar la librería collections para hacer la grilla?

gecoli commented 1 year ago

Hola que tal? ¿Puedo usar la librería collections para hacer la grilla?

@plourido ¡Hola! Todo bien ☺️

Sí, puedes ocupar la librería collections, pero recuerda indicar en el README.md dónde la ocupaste (en qué archivo) y para qué. ¡Éxito! ✨

monesti commented 1 year ago

Hola Buenas ^^ Feliz Viernes 🥳

Quería saber si puedo usar abc para hacer clases abstractas. Muchas gracias con antelación 😄

gecoli commented 1 year ago

Hola Buenas ^^ Feliz Viernes 🥳

Quería saber si puedo usar abc para hacer clases abstractas. Muchas gracias con antelación 😄

@monesti ¡Feliz Viernes!✨

Sí puedes ocuparla, recuerda ponerlo en el README.md ☺️

juanespala commented 1 year ago

Hola!

Quería saber si es posible usar el metodo partial() de functools para enviar señales a funciones. Feliz viernes! :)

gecoli commented 1 year ago

Hola!

Quería saber si es posible usar el metodo partial() de functools para enviar señales a funciones. Feliz viernes! :)

@juanespala Sí se puede ☺️ Feliz Viernes!

VicenteIligaray commented 1 year ago

Hola,

¿Es posible usar deepcopy de la librería copy?

gecoli commented 1 year ago

Hola,

¿Es posible usar deepcopy de la librería copy?

@VicenteIligaray Debes indicar en el README.md para qué y en qué líneas de qué archivo, pero sí.

Buena noche! ✨

SantiagoDLCB commented 1 year ago

En casi todas las experencias se usa al final del main la siguiente linea sys.exit(app.exec()) eso cuenta como el exec() que sale prohibido?

gecoli commented 1 year ago

En casi todas las experencias se usa al final del main la siguiente linea sys.exit(app.exec()) eso cuenta como el exec() que sale prohibido?

@SantiagoDLCB Hola! Hay una confusión por el nombre pues no son iguales. El app.exec() permite cerrar el programa al momento de cerrar la ventana (acá hay más información), de igual manera, si pueden ocupar esta. Por otro lado, exec(), como esta escrito en la descripción del primer comentario, permite la inserción de código malicioso.

tremendapithon commented 1 year ago

Hola buenas noches que librería esta permetida para insertar audio al programa? Ya que vi que pyqt multimedia se instala al parecer. Saludos

tremendapithon commented 1 year ago

Hola buenas noches que librería esta permetida para insertar audio al programa? Ya que vi que pyqt multimedia se instala al parecer. Saludos

gecoli commented 1 year ago

@tremendapithon ¡Hola!

La librería QtMultimedia sí puede ocuparse a pesar de ser instalada. 😊

Hernan4444 commented 1 year ago

Hola @tremendapithon

Solo para verificar, ¿qué sistema operativo tienes? porque para el tema de audio, efectivamente se ocupa QtMultimedia, pero ese ya viene instalado en PyQt5. Aunque parece que el linux no viene instalado.

image

Esto es solo para confirmar que no estés instalando algún otro QtMultimedia que no es el mismo que estamos pensando nosotros 😅

Quedamos atentos 😄

tremendapithon commented 1 year ago

Hola disculpa la demora, tengo windows 10 home.

tremendapithon commented 1 year ago

No he instalado nada por el momento, solo tengo instalado lo que venia en el paquete de PyQt5,.

tremendapithon commented 1 year ago

Tengo una duda respecto al archivo README.md, la cual consiste en el uso de las librerías, ya que me preguntaba si puedo colocar las librerías usadas por archivo en ese apartado, aunque en algunas partes las librerias se repiten. Saludos

gecoli commented 1 year ago

Tengo una duda respecto al archivo README.md, la cual consiste en el uso de las librerías, ya que me preguntaba si puedo colocar las librerías usadas por archivo en ese apartado, aunque en algunas partes las librerias se repiten. Saludos

Hola, @tremendapithon ! Me parece que esa duda no va aquí, pero para esclarecer tu duda: sí, es de hecho este archivo donde debes poner las librerías (hay una sección para eso). Para no repetir, puedes poner:

La siguiente librería se ocupó en el archivo01.py (líneas X, Y, Z) y en el archivo02.py (líneas ...)

tremendapithon commented 1 year ago

Hola buenas, es necesario especificar las lineas en donde se uso??

gecoli commented 1 year ago

Hola buenas, es necesario especificar las lineas en donde se uso??

@tremendapithon Nop, no es necesario, sólo una recomendación 😊

TriniAguilera commented 1 year ago

Hola! Puedo usar QTest para las animaciones? Se debe importar como "from PyQt5.QtTest import QTest" y me permite hacer un pequeño sleep para el cambio de los sprites. No se si hay problema porque es de PyQt5. De igual manera, lo especificaría en el READ.ME

jorgee02 commented 1 year ago

Hola, se puede usar enumerate?

Hernan4444 commented 1 year ago

Hola @TriniAguilera @jorgee02

Si, se puede usar QTest, todo lo que viene instalado en PyQt5 se puede ocupar, aunque igual (como tip) para hacer las animaciones no es necesario recurrir a otros elementos que no hemos vistos en el curso.

Y si, se puede usar enumarate.

Saludosヾ(^-^)ノ

tomastrivino commented 1 year ago

Hola @Hernan4444 , tengo una confusión. Se considera una mala práctica usar paths absolutos y no relativos: sin embargo, la única forma que encontré para reproducir audio fue usando QMediaPlayer e inicializando el archivo de audio a través de QUrl.fromLocalFile(), el cual sólo me ha funcionado con path absoluto y no relativo. Si tengo algo de la forma,

        path_loss_mp3 = os.path.abspath(os.path.join(*PATH_LOSS_MP3))
        self.archivo_loss = QUrl.fromLocalFile(path_loss_mp3)

Donde PATH_LOSS_MP3 es un path relativo en forma de lista (["sprites", "ejemplo"]) ¿Me será descontado? Desde ya muchas gracias, y si cachas una forma de usar QUrl con paths relativos (o bien, cualquier forma de reproducir audio con path relativo, que yo no he encontrado), agradecería saber.

Saludos!

Hernan4444 commented 1 year ago

Hola @tomastrivino

Está bien eso, dado que PATH_LOSS_MP3 es relativo, y estás usando una librería (os) para obtener el absoluto de forma dinámica, lo cual permitirá que funcione en todo los computadores y no solamente en el tuyo. Por lo tanto, no descontaría.

Lo que si, tal vez investigaría sobre QSound que ese me funciona con paths relativos.

Saludosヾ(^-^)ノ

tomastrivino commented 1 year ago

Ah, gracias! Había probado con QSound pero por alguna razón no me funcionó. Gracias de todos modos :)

jorgee02 commented 1 year ago

Hola, se da por permitido usar cualquier funcionalidad importada desde PyQt5 que no necesariamente haya sido cubierta en los apuntes? Pregunto porque he encontrado en internet varias cosas nuevas (para mi) que igual me han servido. Mi idea es especificar en el readme cuáles son y de dónde las he sacado. Gracias

Hernan4444 commented 1 year ago

Hola @jorgee02

Así es, todo pyqt5 está permitido, mientras sea algo que viene ya por defecto en pyqt5 y no sea una extensión o librería externa de pyqt5 que sea necesario instalar (no conozco ninguna de esas por ahora, pero por si llegara a existir).

Saludosヾ(^-^)ノ

SantiagoDLCB commented 1 year ago

Es necesario mencionar las librerias de pyqt5 en el README?

gecoli commented 1 year ago

Es necesario mencionar las librerias de pyqt5 en el README?

Hola, @SantiagoDLCB !

Con nombrar a PyQt5 es suficiente