Français

Texte et outils quotidiens · Boîte à outils de texte

camelCase, Snake_case, kebab-case et PascalCase : où chacun est utilisé

· Contexte

conversion de cas Identifiants identifiants flux de travail du développeur

Un identifiant de profil écrit en étui chameau, Pascal, serpent et kebab
Illustration vectorielle originale de ToolAcre

Une visite guidée des conventions de dénomination : d'où elles viennent, quels langages et écosystèmes attendent lesquels, et pourquoi les noms de fichiers, les URL, les colonnes de base de données et les clés JSON tirent chacun dans une direction différente.

Cinq noms pour une seule chose : userProfileId, user_profile_id, user-profile-id, UserProfileId et USER_PROFILE_ID

L'expression « ID de profil utilisateur » peut devenir `userProfileId`, `UserProfileId`, `user_profile_id` ou `user-profile-id` sans changer ses mots. La différence visible réside dans l’endroit où apparaissent les limites et si le premier mot commence par une majuscule. ToolAcre génère ces quatre formulaires directement à partir de la même entrée, ce qui rend leurs différences structurelles faciles à comparer.

Un `USER_PROFILE_ID` entièrement en majuscules est une autre convention de projet utile, mais il ne s'agit pas d'une option combinée distincte dans la source du convertisseur de cas. La boîte à outils expose indépendamment la casse du serpent et les transformations en majuscules. Si une base de code utilise des constantes en majuscules, convertissez-la en casse serpent, puis mettez-la en majuscule plutôt que de prétendre que le menu de casse effectue les deux étapes à la fois.

Quatre conversions démontrées par Text Toolkit, plus une forme constante majuscule assemblée séparément

`camelCase` commence par un mot en minuscule et met en majuscule le début de chaque mot suivant. `PascalCase` applique la même forme de mot joint tout en mettant également le premier mot en majuscule. Dans ToolAcre, les deux transformations commencent par le même séparateur de mots, de sorte que la ponctuation et les limites de casse existantes sont interprétées avant que la sortie ne soit assemblée.

De nombreuses équipes attribuent aux deux formulaires différents types de noms, mais le référentiel n'établit pas de règle de langage universelle ni d'historique pour cette division. Traitez un guide de style local, un linter, une API de framework ou un code à proximité comme autorité. Le convertisseur change la forme orthographique ; il ne détermine pas si un nom représente une classe, une fonction, une variable ou un composant.

camelCase et PascalCase diffèrent par la première lettre ; leur histoire linguistique est en dehors des preuves du référentiel

`snake_case` réduit chaque mot détecté et joint les résultats avec des traits de soulignement. Pour `User Profile ID`, ToolAcre renvoie `user_profile_id`. Les séparateurs restent visibles, ce qui peut être utile lorsque les noms passent par des systèmes qui ne préservent pas les majuscules de manière fiable, mais cet avantage pratique ne prouve pas que chaque base de données, langage ou service attend des traits de soulignement.

Utiliser la convention déjà définie à la destination. Un service Python peut avoir une politique, un schéma SQL une autre et une charge utile sérialisée une troisième. ToolAcre ne peut pas inspecter ces contrats. Sa promesse fiable est plus étroite : `toSnakeCase` détecte les mots, met chacun d'entre eux en minuscule et insère `_` entre eux sans décider si la destination autorise ou préfère ce résultat. La sortie

Snake_case est prise en charge directement ; l'écosystème et les attentes SQL dépendent de chaque projet

`kebab-case` utilise les mêmes mots minuscules mais les joint avec des traits d'union, produisant `user-profile-id`. Cette forme est visuellement claire aux endroits où un trait d'union est accepté comme donnée, comme un segment d'itinéraire configuré ou un nom de fichier défini par le projet. Il ne s'agit pas d'un identifiant JavaScript car l'analyseur peut lire un trait d'union comme un opérateur plutôt que comme une partie d'un nom.

Le plan répertorie les classes CSS, les attributs HTML, les indicateurs de ligne de commande et les slugs d'URL, mais la bibliothèque de texte ne définit pas les règles de ces consommateurs. Confirmez la syntaxe cible avant la conversion. ToolAcre dispose également d'une fonction `slugify` distincte avec pliage d'accents, sélection de séparateurs, découpage et gestion facultative de la longueur, de sorte qu'une conversion de kebab ordinaire ne doit pas être présentée comme une validation complète d'URL-slug. La sortie

kebab-case est prise en charge directement ; les utilisations valides dépendent de la syntaxe environnante

Les limites sont l'endroit où les conventions de dénomination deviennent opérationnelles plutôt que cosmétiques. Un objet de navigateur peut utiliser une orthographe tandis qu'une charge utile d'API ou une colonne de base de données en utilise une autre. Rendez ce mappage explicite sur un seul adaptateur au lieu de disperser les conversions entre les vues, les requêtes et la logique métier. Un avantage prévisible maintient la cohérence de chaque modèle interne et facilite la localisation des discordances.

Évitez de convertir des valeurs arbitraires simplement parce qu'elles ressemblent à des identifiants. Le séparateur de mots traite la ponctuation comme des limites et reconnaît les transitions sélectionnées entre les minuscules, les majuscules et les chiffres. C'est utile pour les noms, mais cela peut modifier les clés dont l'orthographe est fixée en externe. Conservez exactement les clés de contrat à moins que l’interface de réception ne documente un mappage sous votre contrôle.

Exemple pratique : convertir un identifiant à travers toutes les conventions et décider lequel appartient à quel endroit dans un petit projet

Considérez une petite application avec la phrase `user profile ID`. ToolAcre produit `userProfileId` pour le boîtier chameau, `UserProfileId` pour le boîtier Pascal, `user_profile_id` pour le boîtier serpent et `user-profile-id` pour le boîtier kebab. Chaque sortie contient les trois mêmes mots détectés, tandis que la majuscule et le séparateur inséré codent la forme sélectionnée.

Un projet pratique pourrait conserver `userProfileId` dans un objet JavaScript, le mapper explicitement à `user_profile_id` à une limite de persistance et réserver `user-profile-id` pour un emplacement dont la grammaire accepte les traits d'union. Les choix exacts appartiennent à ce projet. L’important est de documenter chaque limite et de tester la cartographie au lieu de deviner à plusieurs reprises à partir de l’apparence.

Ce que ceci ne couvre pas — La notation hongroise et les débats sur les abréviations à l'intérieur des identifiants

Cette comparaison ne règle pas l'orthographe des abréviations. L'implémentation transforme les mots détectés en minuscules avant de les reconstruire, de sorte qu'une entrée contenant `HTTP` peut apparaître comme `Http` dans la sortie Pascal ou Camel. Qu'une équipe préfère `Http`, `HTTP`, `Id` ou `ID` est une politique de dénomination qui nécessite une exception explicite en dehors de ces transformations générales.

Il ne couvre pas non plus l'historique de la notation, les normes linguistiques ou toute grammaire d'identification valide. Ces affirmations nécessitent des sources autres que les fichiers d'outils utilisés pour cet article. ToolAcre démontre des transformations de texte déterministes et documente une limitation clé : un composé écrit sans aucune limite détectable ne peut pas toujours être divisé en mots voulus par une personne.

La politique d'abréviation et l'historique des notations sont en dehors de la preuve du convertisseur

Aucun cas n’est universellement correct. Un nom est utile lorsqu'il suit le contrat et reste reconnaissable par les personnes qui maintiennent cette couche. Commencez par la convention déjà présente, conservez un formulaire à l’intérieur d’une limite et traduisez uniquement là où une autre interface l’exige. La cohérence réduit les différences accidentelles sans prétendre que chaque écosystème partage une règle.

Lorsqu'une limite nécessite une autre forme, collez l'identifiant dans le convertisseur de cas Text Toolkit et inspectez les quatre sorties avant d'en appliquer une. L'opération s'exécute dans le navigateur et le manifeste indique que le texte n'est pas envoyé à un serveur ni enregistré automatiquement. Utilisez le résultat comme mappage délibéré, puis laissez les tests du projet et les vérifications de style locales confirmer le choix final.