Te piden tu opinión
Llevas un mes en el equipo. Marta, una compañera, te pide que revises su cambio antes de publicarlo.
Son diez líneas. No sabes si eres quién para opinar. Pero revisar es parte del trabajo de todo el equipo, también de quien acaba de llegar. Y una segunda mirada encuentra cosas que el autor no ve.
Al final de esta lección
Nota
Puedo revisar un cambio pequeño y decir qué mejorar.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Revisión de código | leer el cambio de otra persona antes de publicarlo | |
| Cambio | las líneas que alguien añade, quita o modifica | |
| Nombre claro | un nombre que dice qué guarda o qué hace | average_rating |
| Caso límite | un dato raro donde el código puede fallar | una lista vacía |
| Comentario de revisión | una nota para el autor sobre una línea concreta |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Primero, ¿hace lo que dice?
Una revisión sigue un orden. Lo primero es saber si el cambio hace lo que promete. Ejecútalo o lee sus pruebas.
Después mira si se entiende: los nombres, el tamaño de las funciones. Por último, piensa en los datos raros: una lista vacía, un cero, un texto con espacios.
Ejecuta el cambio de Marta y léelo con ese orden.
Prueba: el cambio de Marta
# Cambio propuesto por Marta: "Media de valoraciones de un restaurante"
def m(l):
t = 0
for x in l:
t = t + x
return t / len(l)
print(m([5, 4, 4, 3])) # un restaurante con cuatro opiniones
Pregunta por el dato raro
Los nombres ya están arreglados. Ahora haz la pregunta que más fallos evita: ¿qué pasa con un dato raro?
Un restaurante que acaba de abrir no tiene opiniones. La lista está vacía. Dividir entre len(ratings) es dividir entre cero.
Ejecuta el bloque, lee el error y añade la comprobación que se propone.
Practica: la lista vacía
def average_rating(ratings):
total = 0
for rating in ratings:
total = total + rating
return total / len(ratings)
print(average_rating([5, 4, 4, 3]))
print(average_rating([])) # un restaurante que acaba de abrir
# Lee el error. Después añade al principio de la función:
# if len(ratings) == 0:
# return 0
# y pulsa Ejecutar otra vez.
Un error frecuente
Advertencia
Mucha gente cree que revisar es buscar fallos a la persona. Revisas el código, no a quien lo escribió. Un comentario duro hace que la gente esconda sus cambios. Uno amable y concreto hace que el código mejore.
Un buen comentario es amable y concreto
Un buen comentario dice dónde, qué y por qué. Si puedes, propone cómo.
Habla del código y no de la persona. Pregunta cuando no estés seguro. Separa lo que bloquea el cambio de lo que es una sugerencia.
Y di también lo que está bien. Ayuda a saber qué conservar.
Ejemplo: comentarios de revisión
| En vez de esto | Escribe esto |
|---|---|
| Esto está mal. | Línea 5: con una lista vacía divide entre cero. ¿Devolvemos 0? |
| Nombres horribles. | Sugerencia: m sería más clara como average_rating. |
| ¿Por qué lo haces así? | ¿Hay un motivo para no usar sum()? Si no, ahorra dos líneas. |
| (nada) | Las pruebas cubren bien los casos normales, gracias. |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.