Plataformas¶
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 | 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.