En la programación funcional, a menudo es importante optimizar cualquier código de "bucle" para que sea recursivo de cola. Los algoritmos recursivos de cola usualmente se dividen entre dos funciones, una que establece el caso base y otra que implementa el ciclo real. Un buen ejemplo (aunque académico) sería la función inversa.¿Cuál es su convención de nombres para las funciones de ayuda?
reverse :: [a] -> [a]
reverse = reverse_helper []
reverse_helper :: [a] -> [a] -> [a]
reverse_helper result [] = result
reverse_helper result (x:xs) = reverse_helper (x:result) xs
"reverse_helper" no es realmente un buen nombre descriptivo. Sin embargo, "reverse_recursive_part" es incómodo.
¿Qué convención de nomenclatura usarías para funciones auxiliares como esta?
¿Qué idioma es ese? –
Lo siento. Estoy trabajando en un proyecto de Haskell en este momento, lo que inspiró esta pregunta. Podría haber dado un ejemplo de Python/Java, supongo, aunque tales funciones de ayuda no son tan útiles en los lenguajes imperativos. – Cybis