Naming Conventions

O que São Naming Conventions?

Naming conventions são padrões e regras para escolher nomes consistentes e significativos em projetos. Elas abrangem desde o nome de arquivos e pastas até variáveis, funções e classes em um código.

Benefícios de Naming Conventions

  • Melhoria na Leitura: Nomes claros ajudam a entender rapidamente a funcionalidade ou o propósito de um elemento.

  • Manutenção Simplificada: Códigos bem nomeados são mais fáceis de corrigir e atualizar.

  • Colaboração Facilitada: Quando todos seguem as mesmas regras, equipes inteiras podem trabalhar mais eficientemente.

  • Redução de Erros: Nomes padronizados evitam ambiguidades que podem levar a erros.

Melhores Práticas de Naming Conventions

1. Seja Descritivo, mas Conciso

  • Evite nomes genéricos como data ou temp.

  • Prefira nomes como userInputData ou temporaryFileBuffer.

2. Escolha o Formato Correto

  • Use camelCase para variáveis e funções: ex. calculateTotalPrice.

  • Use PascalCase para classes: ex. UserAccountManager.

  • Use kebab-case para nomes de arquivos: ex. main-header.html.

  • Use snake_case para constantes: ex. MAX_USER_COUNT.

3. Evite Abreviações Excessivas

  • Abreviações podem ser confusas. Prefira address em vez de addr.

4. Adote Prefixos e Sufixos Quando Necessário

  • Para variáveis booleanas, use prefixos como is, has ou can: ex. isVerified, hasAccess.

  • Para funções assíncronas, use sufixos como Async: ex. fetchDataAsync.

5. Padronize em Todo o Projeto

  • Mantenha consistência em todas as partes do projeto.

  • Documente as convenções para facilitar o onboarding de novos membros.

Erros Comuns a Evitar

  1. Uso de Palavras Reservadas

    • Evite usar palavras que possam conflitar com a linguagem ou framework. Ex.: class em JavaScript.

  2. Nomes Sem Contexto

    • Um nome como x ou y raramente explica o que representa.

  3. Mistura de Estilos

    • Não misture camelCase e snake_case no mesmo projeto.

Ferramentas para Naming Conventions

  • Linters: Ferramentas como ESLint (JavaScript) ou Pylint (Python) podem verificar padrões automaticamente.

  • Documentação Compartilhada: Use ferramentas como Notion ou Confluence para manter as regras acessíveis.

Exemplo Prático

Imagine um projeto simples que gerencia usuários. Aqui estão exemplos de boa nomenclatura:

Arquitetura de Pastas

project/ ├── src/ │ ├── user-management/ │ │ ├── user-controller.js │ │ └── user-service.js │ ├── order-management/ │ │ ├── order-controller.js │ │ └── order-service.js

Código em JavaScript

class UserAccountManager { constructor() { this.isUserLoggedIn = false; } loginUser(username, password) { // Verificação de credenciais } logoutUser() { // Logout do usuário } }

Para saber mais recomendamos a leitura de: