Quando usar camelCase
camelCase é compacto, como userProfileImage, e combina com ecossistemas que já o usam em variáveis e propriedades.
Guia de convenções de nomenclatura
camelCase remove separadores e capitaliza palavras posteriores; snake_case mantém palavras minúsculas separadas por underscores. A melhor escolha depende da linguagem, API ou banco.
| Diferença | camelCase | snake_case |
|---|---|---|
| Exemplo | userProfileImage | user_profile_image |
| Uso comum | Identificadores JavaScript/TypeScript e muitas propriedades no estilo Java | Identificadores Python, colunas de banco, pipelines e configuração |
| Separador de palavras | Nenhum | Underscore (_) |
| Capitalização | Primeira palavra minúscula; seguintes capitalizadas | Normalmente tudo minúsculo |
| Exemplo com sigla | apiResponseUrl | api_response_url |
| Fronteira típica | Frontend / modelo da aplicação | Backend / API / campo de banco |
camelCase é compacto, como userProfileImage, e combina com ecossistemas que já o usam em variáveis e propriedades.
snake_case deixa os limites das palavras visíveis, como user_profile_image, e é comum em Python, SQL, dados e APIs.
| Contexto | Convenção recomendada | Por quê |
|---|---|---|
| Código de aplicação JavaScript ou TypeScript | camelCase | Variáveis, parâmetros, métodos e propriedades normalmente usam lower camel case no ecossistema JavaScript. |
| Código de aplicação Python | snake_case | A PEP 8 recomenda nomes em minúsculas com underscores para funções e variáveis. |
| Fronteira JSON ou API HTTP | Seguir o contrato da API | Mantenha uma única convenção interna e normalize apenas uma vez na fronteira de serialização ou transporte. |
| Schema de banco de dados ou analytics existente | Seguir o schema existente | Alterar um contrato externo maduro costuma custar mais do que adaptar os dados na fronteira da aplicação. |
Use a convenção esperada pela camada. Um frontend JavaScript pode normalizar uma API snake_case na fronteira; consistência dentro de cada camada é mais importante.
Cole um identificador para ver o formato alvo e os estilos compatíveis. A conversão roda localmente no navegador.
user_profile_image_url
userProfileImageUrlUserProfileImageUrluser_profile_image_urluser-profile-image-urlUSER_PROFILE_IMAGE_URLuser.profile.image.urluser/profile/image/urlA conversão acontece localmente no navegador. Sua entrada não é enviada a um servidor de conversão.