Rilevare lo stile: camelCase, snake_case e altro
Le convenzioni di denominazione rendono prevedibili identificatori ed etichette, ma un testo incoerente può insinuarsi nel codice sorgente, nella configurazione, nelle importazioni e nei contenuti generati.
Esegui gratis nel browser
Questo rilevatore esamina esattamente i caratteri forniti da Lei e indica se seguono camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Train-Case, dot.case, path/case, Title Case, Sentence case oppure una semplice forma maiuscola o minuscola. Il confronto è rigoroso e deterministico: la stessa voce riceve sempre lo stesso risultato, mentre il testo ambiguo o irregolare viene chiaramente classificato come misto.
Comprenda che cosa controlla il rilevatore
Il rilevatore confronta l’intero input con un insieme definito di schemi di denominazione. Non si limita a contare le maiuscole o a cercare un separatore. Per camelCase, il testo deve iniziare con lettere minuscole e contenere almeno un confine di parola segnato da una maiuscola. PascalCase inizia con una maiuscola e unisce le parole successive senza separatori. Gli stili snake, constant, kebab, dot e path richiedono almeno due segmenti non vuoti separati in modo uniforme da trattini bassi, trattini, punti o barre. Il testo separato da spazi viene controllato come Title Case, Sentence case, parole minuscole o parole maiuscole. Un esito positivo include lo stile riconosciuto e una breve motivazione. Se punteggiatura, separatori incoerenti, maiuscole inattese o spazi esterni impediscono una corrispondenza esatta, il risultato è misto anziché una supposizione fuorviante. Questo comportamento rigoroso è particolarmente utile nella convalida, perché distingue una convenzione realmente rispettata da un testo che le somiglia soltanto. Le cifre sono accettate in molti segmenti degli identificatori; un input vuoto o un valore non testuale viene rifiutato come non valido invece di essere classificato.
Usi il rilevamento esatto per convalidare le convenzioni
Un’etichetta di stile diventa più utile quando fa parte di un controllo di qualità ripetibile. Invii un identificatore proveniente da un modulo, una pipeline di dati, un generatore di codice o una verifica dei nomi e confronti lo stile restituito con la convenzione prevista dal Suo progetto. Per esempio, una politica dei campi API può richiedere snake_case, mentre le proprietà JavaScript possono richiedere camelCase. Un risultato misto segnala che l’input necessita di revisione, ma il rilevatore non lo riscrive intenzionalmente. Tenere separati rilevamento e conversione impedisce a un controllo automatico di modificare silenziosamente nomi pubblici, colonne di database o chiavi che potrebbero essere già referenziate. La risposta comprende anche un valore booleano di riconoscimento, che semplifica le diramazioni: le convenzioni accettate restituiscono vero e il testo irregolare restituisce falso. La corrispondenza esatta considera gli spazi iniziali e finali, individuando problemi invisibili di copia e incolla prima che gli identificatori entrino in un sistema. Se deve elaborare molti valori, richiami la capacità una volta per elemento e conservi sia il valore originale sia lo stile rilevato nel rapporto. Otterrà un risultato verificabile e consentirà a una persona di decidere se i nomi eccezionali sono intenzionali.
Interpreti i confini e gli input ambigui
I nomi degli stili possono sovrapporsi quando l’input contiene una sola parola; perciò il rilevatore usa una precedenza pratica e non dichiara confini inesistenti. Un singolo elemento minuscolo viene indicato come lowercase, non camelCase, perché camel case normalmente mostra almeno un segmento unito che inizia con una maiuscola. Analogamente, un elemento maiuscolo è UPPERCASE e non CONSTANT_CASE. Le forme separate con più parole sono più specifiche: customer_order_id è snake_case, CUSTOMER_ORDER_ID è CONSTANT_CASE e Customer Order Id è Title Case. Sentence case richiede una maiuscola iniziale seguita da parole minuscole separate da spazi, mentre Title Case richiede che ogni parola inizi con una maiuscola. Stringhe ricche di acronimi, lettere Unicode, apostrofi, virgole, separatori doppi e combinazioni come snake-Case vengono classificate come miste se non corrispondono esattamente a uno schema supportato. Questo esito prudente è intenzionale: indovinare un’etichetta familiare potrebbe far superare la convalida a un identificatore malformato. L’algoritmo è locale e analitico, senza rete, modello linguistico, casualità o dipendenze temporali. I controlli sono disponibili nel browser e l’automazione tramite API costa $0.002 per elemento.
Casi d'uso
Imponga i nomi dei campi API
Verifichi che i nomi ricevuti o generati seguano la convenzione snake_case o camelCase richiesta da un contratto API.
Verifichi le chiavi di configurazione
Classifichi le chiavi dei file di configurazione e segnali le forme miste prima che nomi incoerenti si diffondano tra gli ambienti.
Convalidi gli identificatori generati
Verifichi in modo deterministico l’output dei generatori di codice senza cambiare identificatori o nascondere confini malformati.
Domande frequenti
Quali stili vengono riconosciuti?
Il rilevatore riconosce camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Train-Case, dot.case, path/case, Title Case, Sentence case, minuscolo, maiuscolo, parole minuscole e parole maiuscole.
Perché una parola minuscola non è camelCase?
Una singola parola minuscola non presenta un confine unito, quindi è classificata come lowercase. camelCase richiede almeno un confine maiuscolo dopo l’inizio minuscolo.
Lo strumento converte il testo in un altro stile?
No. Rileva soltanto lo stile attuale. Separare rilevamento e conversione rende più sicura la convalida e mantiene intatto l’input originale.
Che cosa accade con separatori o maiuscole incoerenti?
Il risultato è misto e il riconoscimento è falso, perché il testo non segue esattamente una convenzione supportata.
Quanto costa l’API?
Ogni richiesta API costa $0.002. La versione per browser di questa pagina può essere eseguita localmente senza una chiamata API.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/str/detect-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"customerOrderId"}'const res = await fetch("https://api.kit.forhosting.com/str/detect-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "customerOrderId"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/detect-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "customerOrderId"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/detect-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"customerOrderId"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"customerOrderId"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/detect-case", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "customerOrderId"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.detect_case",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |