Skip to content

Plataformas

GitHub GitPoD Azure-Devops Git Shell Script Visual Studio Code YAML Docker githubactions Prometheus Cypress Selenium Cucumber Playwrigh Apache Maven npm CSS3 Postman Pl/SQL Go GraphQL HTML5 Java JavaScript PHP Typescript Flutter Discord Badge Facebook Instagram LinkedIn Teams Twitter Youtube Badge Zoom MongoDB MySQL Oracle Redis Databricks

Como Contribuir

Do latim contribuĕre, «contribuir». Preferencialmente utilizamos neste contexto o transitivo direto, com efeito de "ter parte em (um dado resultado)" ou "ajudar ou participar na execução de (algo)".

Convenções de notação e conformidade

As palavras-chave “DEVE”, “NÃO DEVE”, “EXIGIDO”, “DEVE”, “NÃO DEVE”, “DEVE”, “NÃO DEVE”, “RECOMENDADO”, “NÃO RECOMENDADO”, “PODE” e “OPCIONAL” na especificação devem ser interpretados conforme descrito em BCP 14 RFC2119 RFC8174 quando, e somente quando, aparecem em todas as letras maiúsculas.

Uma implementação da especificação não é compatível se não atender a um ou mais dos requisitos “DEVE”, “NÃO DEVE”, “EXIGIDO”, “DEVE” ou “NÃO DEVE” definidos.

Por outro lado, uma implementação da especificação é compatível se satisfizer todos os requisitos “DEVE”, “NÃO DEVE”, “EXIGIDO”, “DEVE” e “NÃO DEVE” definidos.

Convenção de Nomes

Uma das tarefas desafiadoras é nomear variáveis e funções. Existem várias convenções de nomenclatura que você pode usar. Aqui estão alguns deles.

Convenção Descrição Exemplo Tipos
Camel case Deve começar com a primeira letra minúscula e a primeira letra de cada nova palavra subsequente maiúscula. valorTotal método, nome da variável, Propriedades do objeto,Custom Hooks,
Pascal case Combina palavras colocando todas com a primeira letra maiúscula. ValorTotal nome da classe, Enumerações
Snake case Utiliza-se underline no lugar do espaço para separar as palavras. valor_total nome do campo do banco de dados
Kebab case Utiliza-se o traço no lugar do espaço para separar as palavras. valor-total url, branch, nome da pasta
Screaming Snake Case Nomenclatura variável onde cada palavra está em letras maiúsculas e separadas por sublinhados. BASE_PATH Constantes,Propriedades de Enumeração e Variáveis globais

Nomes mais Descritivos e Específicos

É importante evitar o uso de nomes genéricos ou pouco claros para seus componentes, variáveis ou funções. Ao usar nomes descritivos e significativos, fica mais fácil para outros desenvolvedores (incluindo você) entender e manter o código a longo prazo.

Nomeação Singular ou Plural

A decisão de usar nomes singulares ou plurais para vários elementos, como componentes, variáveis e funções, pode afetar significativamente a clareza do código. Ao alinhar a forma singular ou plural dos nomes de componentes, funções e variáveis com a finalidade pretendida, melhoramos a legibilidade do código e facilitamos um melhor entendimento para outros desenvolvedores que trabalham na base de código.

Comentários e Documentação

Comentar seu código é outra maneira de tornar o código legível.

  • Escreva seus comentários de forma que outras pessoas possam entender facilmente. Deve ser capaz de explicar o propósito, a funcionalidade ou a intenção do código.
  • Coloque comentários como tal, fornece contexto. Você deve Se estiver se referindo a algo específico, forneça contexto suficiente para que outras pessoas entendam seu comentário.
  • Você deve escrever um comentário antes do código. Comentários in-line devem ser usados para pequenos comentários.
  • Siga um estilo de comentário consistente de acordo com a linguagem de programação. Existem várias maneiras de comentar, mas escolha uma e fique com ela para fins de legibilidade.
  • Seja conciso com seus comentários. Comentários longos e excessivamente explicados podem se tornar difíceis de ler.
  • Não escreva comentários para cada linha. Pois vai ofuscar os comentários importantes e também deixar o código cheio de comentários.
  • Etapas autoexplicativas e geralmente as coisas devem ser isentas de comentários.

Manipulação de Erros

Erros e/ou exceções fazem parte do código. Trata-se de identificar, capturar e responder adequadamente a quaisquer erros. É um aspecto crítico da escrita de código confiável. Diretrizes para lidar com erros e exceções de forma consistente em toda a base de código, garantindo relatórios de erros e registros adequados. De acordo com a resposta, crie um log para desenvolvedores e notifique o usuário sobre a solicitação malsucedida. Essa é uma maneira de tornar seu código à prova de erros.

Indentação e Formatação

  • Um código bem formatado não requer muita atenção para ser processado. Como os desenvolvedores trabalharam com esse recuo.
  • Isso faz com que os desenvolvedores leiam o código com mais facilidade. Você pode usar ferramentas como o - [x]- [x]Prettier- [x]- [x] para deixar o código bem formatado de acordo com a linguagem de programação.

Estrutura de pastas

AUma estrutura de pastas bem projetada é essencial para manter uma base de código limpa e escalável , melhorando a colaboração entre os membros da equipe e aprimorando a eficiência geral do desenvolvimento. Existem diferentes tipos de estruturas de pastas comumente usadas, incluindo a estrutura:

  • Baseada em Componentes;
  • Baseada em Recursos;
  • Baseada em Domínio.

Aplicativo de Teste

Você pode criar um plano de teste que descreva o objetivo, a cobertura do teste, as técnicas de teste e os cronogramas. Isso ajudará a classificar a maioria das coisas antes mesmo de iniciar o teste.

Tipo Entenda
Teste de Unidade Trata-se de testar unidades individuais ou componentes do aplicativo de forma isolada. Envolve testar funções, métodos ou classes para garantir que funcionem conforme o esperado.
Teste de Integração Envolve testar a interação entre diferentes componentes ou módulos da aplicação.
Teste de regressão O teste de regressão é realizado depois de fazer alterações ou aprimoramentos no software para garantir que a funcionalidade existente não tenha sido afetada adversamente.
Teste de segurança Como o próprio nome sugere, trata da identificação de vulnerabilidades e fraquezas no aplicativo.

Boas Práticas de Teste

Tipo Entenda
Casos de teste Você pode escrever diferentes casos de teste para cenários específicos para testar diferentes aspectos do aplicativo.
Rastreamento de Bug Durante o teste, é importante rastrear e documentar quaisquer problemas ou bugs identificados.
Abrange diferentes testes Você deve ser capaz de testar o aplicativo com várias técnicas de teste para garantir que o aplicativo seja confiável.
Automatize os testes Sempre que possível, tente automatizar os testes com ferramentas. Ele verificará problemas comuns e também economizará muito tempo.

Segurança

Você deve seguir as diretrizes relacionadas à segurança e ao desempenho. Você deve evitar vulnerabilidades comuns e também tentar otimizar o desempenho do código.

Tipo Entenda
Proteção de dados Você não deve vazar nenhum dado, seja um usuário ou uma chave de API confidencial.
Autenticação e autorização Você implementa mecanismos fortes, como o uso de hashing de senha forte, impondo complexidade de senha e acesso baseado em função.
Validação de entrada Isso evitará vulnerabilidades como ataques de injeção.

Convenções de Escrita de Código

Conceito Conceito Conceito Conceito
Java Conventions PHP Conventions PL/SQL Conventions Python
PEP 20 – The Zen Go Ruby JavaScript Conventions
ShellCheck Git Commands --- ---

Convenções de Desenvolvimento

Conceito Conceito Conceito Conceito
Conventional Commits Diretrizes Angular Udacity Changelog
Changelog-Snippets Keep a Changelog Comandos Git Conventional Commits
Versionamento Semântico Google Contributor Covenant HTML
Catalogo de APIs DaC CEMLI git-cliff

Convenções de Documentação

Conceito Conceito Conceito Conceito
Character Sets DaC MKDocs Make-ReadME
markdown-badges

Modelagem são relacional, dimensional e entidade-relacionamento (E-R)

Conceito Conceito Conceito Conceito

Timesheet

O lançamento de horas em um determinado projeto ou atividade, tem como finalidade melhorar a gestão de tempo ao registrar o tempo gasto para realizar determinada atividade. Utilizar o lançamento de horas traz mais transparência e precisão para a gestão de tempo, o que permite um melhor controle e monitoramento das atividades realizadas.

  • Compreensão da rotina dos profissionais;
  • Alocação eficiente da Equipe;
  • Estimativa de Tempo médio para a realização de uma tarefa ou atividade;
  • Maior assertividade nos prazos acordados;
  • Melhorar a organização da equipe
  • Ter suporte para o planejamento
  • Tomar decisões baseadas em dados

Sugere-se que o lançamento de horas seja realizada de forma diária e com 10 minutos antes de suspender e/ou finalizar as atividades diárias.

Pull/Merge Requests (Códigos ou Documentos)

É a forma colaborativa de compartilhar criação ou mudanças de código no repositório, de forma que facilite ser revisado e/ou discutido entre todos os membros do time. Quando estiver escrevendo ou até mesmo antes do desenvolvimento, pense numa forma de deixar o trecho de código que deseja entregar o mais enxuto possível.

Em outras palavras: faça o possível para que aquele Pull/Merge Request seja o menor possível.

  • É muito importante separar novos recursos ou melhorias em ramos de recursos separados e enviar um pull request para cada branch.
  • Crie arquivos padronizados com o NOME DAS branches.

Guia de estilo

Todas as solicitações pull/merge DEVEM aderir à Commits Convencional

Licença

Por definição todo o desenvolvimento pertence única e exclusivamente a 60portunities.