IIC2233 / Syllabus

146 stars 13 forks source link

Guia de estilo PEP8 #59

Open jtvvtj opened 2 months ago

jtvvtj commented 2 months ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Duda

Cuando se mencionan que las líneas pueden tener a lo máximo 100 caracteres los "4 espacios de indentacion" y los comentarios de textos ( #esta funcion genera que 2 + 2 = 4 ), forman parte de esos 100 caracteres?

jtvvtj commented 2 months ago

Ademas, al definir una funcion o clase, sus lineas tambien deben tener maximo 100 caracteres?

Mi duda se genera también ya que una buena practica, es asigarle el tipo de variable que puede tomar un parametro. Como por ejemplo def sumar(numero1: int, numero2: int):

Entonces el tener maximo 100 caracteres en funciones y clases, no limitaria esta buena practica?

jtvvtj commented 2 months ago

los espacios entre lineas, contarian dentro de las 400 lineas como maximo que hay que hacer por modulo?

3rdPix commented 2 months ago

Hola @jtvvtj !

La respuesta a todo lo que dices, es afirmativa. Originalmente en PEP8 el límite de caracteres es 80, y para los comentarios es 72. En este curso les damos la flexibilidad de utilizar 100 como el limite. Y sí, todo cuenta dentro de esos 100 caracteres, la identación, los type hints, los comentarios, etc. Lo mismo corre para las líneas y el limite de 400 por modulo.

Python cuenta con características que permiten respetar estaa reglas, como los paréntesis, el símbolo de escape y continuación en la siguiente línea, la herencia, entre otras.

Aquí te muestro una posible forma de abordarlo (en el caso de la identación y los type hints):


class MiClase:

    def __init__(self, argumento_largo_1: tuple[int],
                 argumento_largo_2: dict[str, list[int]],
                 argumento_largo_3: int=0, *args) -> None:
        """ Explicación de lo que hace """
        self.variable: tuple[int] = argumento_largo_1
        # etc

De todas formas, te recomiendo leer la documentación oficial para saber cómo abordar correctamente cada caso.

Me cuentas si tienes otra duda!

jtvvtj commented 2 months ago

entiendooo, graciaaaas !!