# Punto de Salida

**Descripción**:

Resultado (verificable externamente) obtenido al ejecutar una [unidad de código](https://blog.cincuentapalabras.co/unidad-de-codigo).

**Tipos (RED)**:

- [Retorno, valor de](https://blog.cincuentapalabras.co/valor-de-retorno-punto-de-salida). (Más fácil de validar)
- [Estado, cambio de](https://blog.cincuentapalabras.co/cambio-de-estado-punto-de-salida)
- [Dependencia externa, llamado a](https://blog.cincuentapalabras.co/dependencia-externa-punto-de-salida). (Más difícil de validar)

```ts
let valorActual = 0;

function sumaConRegistro(sumando: number, registrador: IRegistrador): number {
  /** Punto de salida 1 => llamado a dependencia externa (D) */
  registrador.log(`Sumará: ${valorActual} + ${sumando}`);
  /** Punto de salida 2 => cambio de estado (E) */
  valorActual += sumando;

  /** Punto de salida 3 => valor de retorno (R) */
  return valorActual;
}
```

Toda [unidad de código](https://blog.cincuentapalabras.co/unidad-de-codigo) tiene punto(s) de salida.

**Solo se valida un punto de salida por [prueba unitaria](https://blog.cincuentapalabras.co/prueba-unitaria)**

[🇺🇸 English version](https://blog.fiftywords.co/exit-point)
