Clean Code Flashcards

1
Q

Nombres: ¿Cómo tienen que ser?

A

Significativos y pronunciables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué deben revelar los nombres?

A

La intención

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué son “Searchable Names”?

A
  • La longitud del nombre corresponde al tamaño de su alcance
  • Si una variable o constante puede verse o usarse en varios lugares de un cuerpo de código, debe tener nombre fácil de buscar.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué características deben tener los nombres?

A
  • pronunciables
  • buscables
  • para las clases, sustantivos
  • para los métodos, verbos
  • tener una palabra por concepto
  • contexto significativo y reducido
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nombres: ¿Qué debemos evitar?

A
  • desinformación
  • codificación
  • prefijos
  • mapeo mental
  • copiar palabras
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Funciones: ¿Cómo deben ser?

A
  • Pequeños
  • Que hagan una sola cosa (Single Responsibility Principle)
  • Un sólo nivel de abstracción por función.
  • Argumentos: uno es bueno, cero es mejor.
  • Respecto a switch y flags: preferible usar polimorfismo.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es DRY?

A

Don’t Repeat Yourself:
- Si repetís código y necesitás a futuro cambiarlo, vas a tener que cambiarlo en cada instancia.
- Además, es una oportunidad para múltiples errores por omisión.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es The Principle of Least Surprise?

A

Las acciones y resultados de un sistema deben seguir convenciones comunes y tener sentido para quienes los utilizan, minimizando las sorpresas y confusiones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿A qué se refiere la Boy Scout Rule?

A

Se refiere a la práctica de mejorar contínuamente el código fuente durante el desarrollo de software. Se basa en la idea de que los programadores deberían dejar el código en un estado mejor de lo que lo encontraron.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Cómo deben manejarse los errores?

A

Se deben usar excepciones en vez de códigos de error. También se debe evitar retornal Null.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Comentarios: ¿Qué comentarios son buenos?

A

Los legales, informativos, explicativos, clarificadores, previsores de consecuencias, recordatorios de trabajo, amplificadores de importancia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Comentarios: ¿Qué comentarios son malos?

A

Redundantes, confusos, obligatorios, innecesarios, periódicos, código viejo, información no loca, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Tests Unitarios: ¿Qué es FIRST?

A

Fast
Independent
Repeatable
Self-Validating
Timely

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Tests Unitarios: ¿Qué cosas se deben hacer?

A
  • siempre escribir casos de prueba aislados.
  • probar una sola cosa en un sólo caso de prueba.
  • usar un único assert por caso
  • usar una convención de nombres para los casos de prueba.
  • usar mensajes descriptivos para los métodos de assert.
  • medir la cobertura de código para encontrar casos de prueba faltantes.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly