camelCase a snake_case

Pega tu texto: cada nombreComoEste se convierte en nombre_como_este (snake_case, en minúsculas).

Para qué sirve

Es el sentido que hace falta cuando se va del código a la base de datos, o cuando un proyecto adopta una sola convención y hay que reescribir lo que existe: de fechaNacimiento a fecha_nacimiento, sobre una lista entera de una vez. También sirve para hacer legibles los nombres sacados de un archivo de configuración o de la respuesta de un servicio web, donde las mayúsculas pegadas convierten todo en un bloque único.

La parte difícil son las siglas

Poner un guion bajo antes de cada mayúscula es la solución ingenua, y sobre getHTTPResponse daría get_h_t_t_p_response, es decir un nombre peor que el de partida. Aquí la sigla se reconoce y se mantiene junta: se corta donde acaba el grupo de mayúsculas y empieza una palabra nueva, así que el resultado es get_http_response. Esa es la diferencia entre una conversión que se puede usar y una que hay que corregir a mano.

Qué le pasa al resto

Al final todo el texto se pasa a minúscula, porque el snake_case se escribe así. Por eso NombreUsuario se convierte en nombre_usuario y un nombre ya escrito en minúscula se queda igual. Las cifras no abren una palabra nueva: valor2 se queda entero, mientras que valor2X se convierte en valor2_x. El resto de la línea, puntuación incluida, no se toca.

Herramientas cercanas

El camino contrario es snake_case → camelCase. Para una dirección web, que quiere guiones normales, está Crear un slug para URL; para uniformar las tabulaciones antes de llevar el código a otro editor, Tabulaciones en espacios.