Détecteur de casse d'identifiants
Saisissez un nom tiré de votre code et découvrez sa convention : getUserName est en camelCase et se découpe en get, user et name. L'outil reconnaît aussi PascalCase, snake case, kebab-case et la forme en majuscules, et rend toujours les mots en minuscules. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- getUserName
- Identifiant
- getUserName
- Style de casse
- camelCase
- Mots
- get, user, name
- Nombre de mots
- 3
Les outils de renommage, les linters de style et les pipelines de transformation de code ne peuvent réécrire un symbole qu'après avoir su quelle convention ce symbole utilise déjà. Chaque style cache les frontières de mot à un endroit différent : capitales intérieures, tirets bas ou traits d'union. Ce détecteur de casse d'identifiants inspecte un seul identifiant, nomme la convention et renvoie les mots composants en minuscules afin qu'un appelant puisse reconstruire le même nom dans un autre style sans deviner. L'algorithme est un parcours déterministe de caractères : pas de modèle, pas de réseau et pas d'horloge.
Ce que signifie détecter la casse d'un identifiant et comment chaque style est reconnu
La casse de nommage d'un identifiant est la convention par laquelle une communauté de langage de programmation colle plusieurs mots anglais en un seul symbole. camelCase commence par une lettre minuscule et marque chaque mot suivant d'une capitale, c'est pourquoi getUserName se lit get, user et name lorsque les capitales sont traitées comme des frontières.
Ce détecteur signale aussi trois extras honnêtes que les outils de renommage rencontrent chaque jour : lower pour un jeton minuscule unique tel que user, upper pour un jeton capitale unique tel que OK, et mixed lorsque tirets bas, traits d'union et capitales intérieures se combinent dans un même symbole, par exemple get_userName. La classification regarde d'abord les séparateurs, puis la casse des lettres. Un nom qui contient à la fois des tirets bas et des traits d'union est mixed.
Des parties minuscules séparées par des traits d'union sont du kebab-case. Sans séparateurs, une minuscule initiale plus une capitale plus loin est du camelCase, et une capitale initiale plus une minuscule plus loin est du PascalCase. Le but de la page est la détection plus une liste de mots stable, non la conversion : des convertisseurs dédiés existent déjà pour transformer une phrase vers un style cible.
Questions fréquentes
Quelles casses de nommage d'identifiants ce détecteur reconnaît-il ?
Les noms à un seul jeton renvoient lower ou upper. Les séparateurs combinés ou la casse mixte renvoient mixed.
Comment les mots composants sont-ils produits à partir d'un identifiant ?
Le moteur découpe sur les tirets bas et les traits d'union, puis sur les bords camelCase (minuscule ou chiffre vers capitale, acronyme vers Titlecase, et lettre vers chiffre). Les jetons sont mis en minuscules dans le tableau words.
Que devient un tiret bas initial tel que dans _foo_bar ?
Le champ identifier reproduit encore l'orthographe d'origine, et les trous vides de dunder ne sont pas conservés comme mots.
Quelle différence entre camelCase et PascalCase ?
Seulement la première lettre. Le camelCase commence par une minuscule, comme getUserName, et le PascalCase par une majuscule, comme HttpServer. Les deux signalent chaque mot suivant par une majuscule au lieu d'un séparateur.
L'outil convertit-il un nom dans un autre style ?
Non. Il indique le style actuel et rend les mots en minuscules, par exemple get, user et name. Avec cette liste, vous reconstruisez le même nom dans une autre convention sans deviner où finissait chaque mot.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/identifier-case-detect \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"getUserName"}'const res = await fetch("https://api.kit.forhosting.com/dev/identifier-case-detect", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "getUserName"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/identifier-case-detect",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "getUserName"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/identifier-case-detect", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"getUserName"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"getUserName"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/identifier-case-detect", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "getUserName"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.identifier_case_detect",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 4096 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Un identifiant tel que getUserName est en camelCase ; UserProfile est en PascalCase ; http_status_code est en snake_case ; content-type est en kebab-case ; et MAX_RETRY_COUNT est en SCREAMING_SNAKE_CASE. Les identifiants vides, absents ou illégaux échouent avec invalid_input au lieu d'une découpe vide silencieuse. Les appels API réussis sont facturés $0.002 ; les échecs de validation ne sont pas débités.
Ce que signifie détecter la casse d'un identifiant et comment chaque style est reconnu
PascalCase, aussi appelé UpperCamelCase, commence par une capitale et est la forme habituelle des noms de type, des composants React et des classes C# : HttpServer vaut http plus server. snake_case écrit chaque lettre en minuscule et joint les mots par un seul tiret bas, valeur par défaut des fonctions Python, des méthodes Ruby et de nombreuses colonnes SQL. kebab-case fait le même travail avec des traits d'union et apparaît dans les classes CSS, les slugs d'URL et les noms d'en-tête HTTP tels que content-type. SCREAMING_SNAKE_CASE est du snake_case en capitales intégrales et reste réservé aux constantes et aux clés d'environnement telles que MAX_RETRY_COUNT. Des parties minuscules séparées par des tirets bas sont du snake_case ; les mêmes parties en capitales sont du SCREAMING_SNAKE_CASE. Les tirets bas initiaux utilisés pour la confidentialité ou les dunders Python sont retirés avant de nommer le style, de sorte que _foo_bar reste du snake_case et __init__ reste du snake_case, tandis que l'identifiant renvoyé reproduit encore l'orthographe d'origine.
Contrat d'entrée, découpe des mots et comportement d'erreur
La longueur est plafonnée à quatre mille quatre-vingt-seize caractères : un collage plus long échoue avec un message de limite explicite plutôt qu'une coupe silencieuse. L'identifiant doit commencer par une lettre, un tiret bas ou un signe dollar, puis n'utiliser que des lettres ASCII, des chiffres, des tirets bas ou des traits d'union. Les traits d'union en tête ou en queue et les traits d'union consécutifs sont rejetés car ce ne sont pas des noms légaux dans les langages pour lesquels cet outil est conçu. Au moins une lettre est exigée : un jeton fait seulement de chiffres ou de symboles n'a pas de casse de nommage à détecter. Il n'y a pas de casse de titre propre à la locale ni de succès partiel qui abandonne des jetons sans le dire. Envoyez par POST un corps JSON avec un champ obligatoire, text, qui contient l'identifiant à inspecter. Les alias identifier, name, value et input sont acceptés afin que tableurs, chaînes de requête et formulaires typés réutilisent le même contrat sans renommer une colonne. La valeur doit être une chaîne non vide après trim ; nombres, booléens, objets et tableaux sont rejetés pour qu'un corps JSON erroné ne devienne pas le mot true ni un vidage d'objet. En cas de succès, le corps renvoie cinq champs stables. identifier reproduit l'entrée recadrée afin que vous puissiez auditer ce qui a été classé. case_style vaut l'un de camelCase, PascalCase, snake_case, kebab-case, SCREAMING_SNAKE_CASE, lower, upper ou mixed. words est le tableau ordonné de jetons minuscules après les découpes aux tirets bas, traits d'union, un bord minuscule-ou-chiffre vers capitale, un acronyme suivi d'un mot Titlecase, et les bords lettre-chiffre ou chiffre-lettre, de sorte que XMLHttpRequest devient xml, http et request, et getUser2FA devient get, user, 2 et fa. word_count est la longueur de ce tableau. readable joint les mots par des espaces simples pour les libellés et les journaux. Un text manquant, une chaîne vide et un jeu de caractères illégal échouent avec invalid_input en nommant le champ ; ces échecs ne sont pas facturés.
Où les outils de renommage, les linters et les migrations utilisent un détecteur de casse
Une refonte de renommage est dangereuse si l'outil suppose que chaque symbole est déjà en camelCase. Les générateurs de documentation transforment la phrase lisible en titres et libellés d'accessibilité tout en connaissant encore la convention d'origine pour les liens croisés. Une validation en échec ne consomme pas de solde. Gardez les requêtes à un identifiant, figez le tableau words dans les tests, et vous obtenez une classification reproductible pour les pipelines de renommage, les règles de lint et les contrôles de classe sans dresser votre propre générateur d'analyseurs. Les bases de code d'interface mélangent des composants React en PascalCase, des hooks en camelCase, des modules CSS en kebab-case et des constantes d'environnement en SCREAMING_SNAKE_CASE ; un détecteur qui renvoie à la fois le style et les mots permet à un transformateur de reconstruire getUserName en get_user_name ou GetUserName sans qu'une personne désigne chaque fichier. Les migrations côté serveur rencontrent la même scission entre fonctions Python en snake_case, en-têtes HTTP en kebab-case et types Java en PascalCase lorsqu'un document OpenAPI, un modèle ORM et un SDK client doivent rester alignés. Les linters de style et les robots de revue peuvent signaler une fonction arrivée sous la forme Http_Server au lieu de deviner si l'auteur visait snake_case ou PascalCase. Les enseignants et les plateformes d'entretien de programmation peuvent demander à un étudiant de nommer le style de dix identifiants et noter la réponse contre cet oracle plutôt qu'une macro de tableur qui traite UserID et user_id comme la même chaîne. Parce que l'implémentation est du parse pur de niveau A, chaque appel réussi coûte le tarif de base publié $0.002 sans jetons de modèle et sans réseau sortant, et le chemin gratuit du navigateur correspond à l'API octet pour octet sur le même module.
Cas d'intégration
Pipelines sûrs de renommage et de transformation
Classez chaque symbole avant de le réécrire afin qu'un transformateur passe du camelCase au snake_case ou au PascalCase sans présumer le style source.
Règles de lint pour les bases de code mixtes
Signalez les fonctions, types, classes CSS et constantes arrivés dans la mauvaise convention en comparant case_style à la règle de ce genre de symbole.
Oracles pour la documentation et la classe
Découpez les identifiants en mots lisibles pour les titres, et notez les réponses d'étudiants qui nomment camelCase, snake_case ou SCREAMING_SNAKE_CASE.
Questions techniques
Quelle entrée est rejetée comme non valide ?
Un text manquant, une chaîne vide, des valeurs non chaînes, des noms avec des espaces ou d'autres caractères illégaux, des traits d'union en tête ou en queue, des traits d'union consécutifs, des jetons sans lettre et des charges de plus de quatre mille quatre-vingt-seize caractères échouent avec invalid_input.
Combien coûte le détecteur de casse d'identifiants ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée non valide n'est pas facturée.