Construção de Software
Historico de Revisão
| Data | Versão | Descrição | Autor(es) | 
|---|---|---|---|
| 31/05/2023 | 0.1 | Definição das convenções de Clean code que serão utilizadas | Pedro Lucas | 
| 06/06/2023 | 0.2 | Alteração das convenções | Pedro Lucas | 
Para a construção do software, e como parte da nossa abordagem para alcançar um código limpo e de qualidade, a equipe adotará algumas convenções do Clean Code. Essas convenções são consideradas boas práticas no desenvolvimento de software e visam promover a legibilidade, a manutenibilidade e a eficiência do código.
| Conveções do Clean Code | Será utilizado? | Por que? | 
|---|---|---|
| Nomenclatura significativa | Sim | Para facilitar a compreensão de quem irá ler o codigo adotando o uso de nomes autoexplicativos para variáveis,funções,classes, métodos e outros elementos do código. | 
| Funções e métodos curtos | Não | Embora a convenção de clean code geralmente recomende o uso de funções e métodos curtos, o domínio do problema é de forma intrinsicamente complexa exigindo funções e métodos mais longos. | 
| Comentários claros | Sim | Para melhor entendimento de partes de códigos que seriam mais complexas e/ou de difícil compreensão. | 
| Formatação e indentação consistente | Sim | Melhorar legibilidade do código. | 
| Evite duplicação de código | Sim | Para reduzir linhas de códigos abstraindo-os em funções e/ou métodos reutilizáveis. | 
| Tratamento de erros | Sim | Para garantir a robustez, confiabilidade e estabilidade do software. | 
| Padronização de estilo | Sim | Para garantir a legibilidade e compreensão de todos os membros envolvidos no projeto promovendo uma base comum de entendimento e facilitando a colaboração. | 
| Teste Automatizados | Sim | Para uma maior confiança na qualidade do software e agilizando o processo de testagem e facilitando sua manunteção. | 
| Limite de tamanho de arquivos e classes | Não | Não definimos no começo do projeto um tamanho limite para quaisquer arquivos ou classes. | 
| Revisão de código | Sim | Para uma melhorar a qualidade do código tendo um aprendizado e compartilhamento de conhecimento e promovendo a consistência e conformidade do código. |