Diretrizes para o Desenvolvimento Colaborativo

Aqui apresentaremos o que deve ser seguido durante a implementação de novas funcionalidades, melhorias ou correções com o objetivo de manter o projeto sustentável e escalável, englobando desenvolvedores com experiências de programação em diferentes níveis.

Durante o desenvolvimento...

A melhor forma de testar uma nova implementação é incluindo um novo arquivo na pasta src/testes, como apresentado em Para Começar a Desenvolver.

Uma vez finalizada, se sua implementação incluir algo novo, que seja necessário um tutorial, como por exemplo, um problema que não existe, deve-se incluir um exemplo base na pasta example na raíz do projeto. Inicialmente existem dois arquivos: caso1D.jl e caso2D.jl, cada um com um exemplo distinto.

Legibilidade

A legibilidade do código é definida por alguns pontos:

Idioma do código

Apesar da documentação ser escrita em português, nosso código deve ser escrito em inglês.

Práticas de Escrita - Convenção de Nomenclatura

Deve-se utilizar snake_case para nome de funções e variáveis, por exemplo, test_revise e CamelCase para tipos implementados e arquivos, por exemplo, EquationTerms.

Nomes de funções, variáveis, tipos e nomes de arquivo

Funções e variáveis devem ser nomeadas de forma clara e descritiva, facilitando a leitura e compreensão de quem vai trabalhar com sua implementação. Sempre que possível use palavras inteiras. Por exemplo: escrevi uma função que monta e retorna uma malha 2D. Nomearei-a como assemble_mesh_2D.

Identação, espaçamento e outras definições de escrita

Essas outras escolhas de estilo de escrita são aplicadas automaticamente pelo formatter configurado no projeto. No VSCode, todos os arquivos são auto-formatados ao salvar, não sendo necessário se preocupar com isso.

Caso não esteja utilizando o VSCode, deve-se executar

julia> using MyProject
julia> format(".")

para formatar todos os arquivos modificados.