Python clean code tip: Dejar de usar if-else statements

Muchas veces por el apuro de querer sacar una feature que esta trabada hace mucho o por el simple afan de cerrar las tareas, note que escribo codigo desprolijo dejando de lado las grandes ventajas que nos dan las tecnologias de hoy en dia. Uno de los errores mas comunes es el abuso de estructuras de control tales como if-elif-else. Vamos a suponer que estamos trabajando con una API externa que nos devuelve un parametro que toma diferentes valores. Nuestra logica de negocio nos pide tratar ese parametro dependiendo del valor que toma y realizar un "mapeo".

En el siguiente bloque de codigo se puede observar una manera valida de "mapear" el valor que nos llega de la API pero que es un tanto desprolija y nos hace crecer la cantidad de lineas de codigo.

init_var = ''

if value_from_api == "a":
    init_var = "a"
elif value_from_api == "b":
    init_var = "b"
elif value_from_api == "c":
    init_var = "c_value"
.
.
.
elif value_from_api == "g":
    init_var = "g_value"
else:
    init_var = "NOT_FOUND"

En vez de realizar un if-elif-else statement, podriamos crear diccionario constante en el cual las keys sean los valores que puede tomar el parametro que devuelve la API y el value sea el valor final que nosotros deseamos retornar.

# Diccionario constante conteniendo el mapeo
VALUE_MAP = {
    "a": "a",
    "b": "b",
    "c": "c_value",
    .
    .
    .
    "g": "g_value", 
}

# Logica para obtener el valor
init_var = VALUE_MAP.get(value_from_api, "NOT_FOUND")

De esta manera se logra reducir mucho la cantidad de lineas de codigo, mantener un orden y, que ademas quede elegante. Una adicion seria mover la constante VALUE_MAP a un archivo de constantes y asi separar tener mucho mas orden en el codigo.