Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Librerías permitidas, no permitidas y malas prácticas T3 #680

Open
gatochico opened this issue Jun 29, 2021 · 18 comments
Open

Librerías permitidas, no permitidas y malas prácticas T3 #680

gatochico opened this issue Jun 29, 2021 · 18 comments
Assignees
Labels
IMPORTANTE Es importante que se lea esta issue Tarea 3

Comments

@gatochico
Copy link
Contributor

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?

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


Librerías Permitidas

  • socket
  • PyQt5
  • QtDesigner
  • threading
  • time
  • random
  • collections
  • string
  • pprint
  • textwrap
  • beautifultable
  • json
  • pickle
  • os
  • sys.exit

Librerías Prohibidas

  • pygame
  • OpenCV
  • Arcade
  • Pyglet
  • Tkinter
  • matplotlib
  • keyboard
  • shutil
  • pathlib
  • glob
  • pandas
  • numpy
  • ast
  • curses
  • io

☠️ 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:

  • except Exception: o únicamente except: (excepciones bien capturadas sí estarán permitidas).
  • Variables globales de cualquier tipo.
  • Import * o imports que no se encuentren al inicio del programa.
  • Paths absolutos y no relativos.
  • No añadir encoding al momento de trabajar archivos.
  • No utilizar señales cuando corresponde.

Éxito en la tarea, programadores avanzades! 🔋✈🌐

@gatochico gatochico self-assigned this Jun 29, 2021
@gatochico gatochico pinned this issue Jun 29, 2021
@lily416 lily416 added the IMPORTANTE Es importante que se lea esta issue label Jun 30, 2021
@nicomeiser
Copy link

Hola! puedo importar math para usar la función ceil?

@gatochico
Copy link
Contributor Author

Hola @nicomeiser ! Sí puedes usar math para eso 🚀

@raibd
Copy link

raibd commented Jul 6, 2021

Hola, para la codificación de las imágenes con json, si no me equivoco se necesita la librería Base64 (https://stackoverflow.com/questions/12511408/accepting-json-image-file-in-python), se puede usar esta librería? O es mejor utilizar Pickle para las imágenes?

@gatochico
Copy link
Contributor Author

¡Hola @raibd! Para el caso de imágenes no es necesario que uses una librería externa como Base64, sino que simplemente puedes abrir estos archivos como bytes y rescatar los bytes de su contenido.

@Ignacioislae
Copy link

Es mala practica llamar a algun metodo en el main.py. Que en mi implementacion, realizo todas las conexiones con las señales y una vez terminado con eso utilizo cliente.inicia() para empezar todos los procesos. (Si lo inicio al instanciarlo no puedo realizar las conexiones y se enviarian señales que nadie recibiria). Seria algo asi:

Instancias

Conectar señales

cliente.iniciar()

@gatochico
Copy link
Contributor Author

¡Hola @Ignacioislae ! (disculpa la demora, ups) No veo problema con lo que indicas, así que no te preocupes ✨

@ctronp
Copy link

ctronp commented Jul 11, 2021

Hola, puedo usar la libreria typing para tipado estatico, me disgusta un poco el tipado dinamico.
Gracias

@VichoAburto
Copy link

Hola!

Puedo usar la librería operator para ordenar en forma descendente un diccionario a partir de sus values??🧐🧐

@a-ck
Copy link

a-ck commented Jul 11, 2021

Hola! Puedo usar la librería itertools para usar la función cycle() ?

@franciscareti
Copy link

Hola! Puedo usar deepcopy de la librería copy para usar una copia de un diccionario anidado?

@gatochico
Copy link
Contributor Author

¡Hola a todes!

@ctronp Sí, puedes usar typing 🚀

@VichoAburto Sip, puedes usar operator para eso 🚀

@a-ck Sí, puedes usar itertools para eso 🚀

@franciscareti Sí, puedes usar copy para eso 🚀

Éxito en sus tareas!

@Piolawa
Copy link

Piolawa commented Jul 13, 2021

Hola, puedo usar sys.path ?, es para poder importar un módulo desde una subcarpeta.

(Ejemplo: tengo carpeta1/carpeta2/codigo1.py y carpeta1/codigo2.py , quiero importar lo que está en código1.py para ocuparlo en código2.py)

@raibd
Copy link

raibd commented Jul 13, 2021

Hola, puedo usar permutations() de itertools?

@gatochico
Copy link
Contributor Author

¡Hola!

@Piolawa No puedes usar sys.path, ya que indirectamente estarías usando un path absoluto u.u

@raibd Sí puedes usar permutations() !

Éxito en sus tareas, último día! 💪

@CGR0
Copy link

CGR0 commented Jul 14, 2021

Hola! perdón por lo tarde pero se podía usar reduce de functools?

@gatochico
Copy link
Contributor Author

Hola! Sí, puedes usar reduce()

@Ignacioislae
Copy link

Ignacioislae commented Jul 14, 2021

Es considerado mala practica usar un QObject para que una clase herede en el servidor? He notado que procesan la informacion mucho mas rapido.

@gatochico
Copy link
Contributor Author

Hola! Aunque curioso, no necesariamente es algo que descontemos 🤔 solo recuerda que el servidor no debe tener interfaz gráfica!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IMPORTANTE Es importante que se lea esta issue Tarea 3
Projects
None yet
Development

No branches or pull requests