-
Notifications
You must be signed in to change notification settings - Fork 0
Home
-
Não serão aceitos Pull Requests sem uma descrição completa das alterações;
-
Não serão aceitos Pull Requests sem documentação no estilo Doxygen;
-
O código deverá ser escrito e documentado em Inglês (nomes de variáveis, interface, etc), podendo ter comentários em Português;
-
Não serão aceitos Pull Requests sem indentação correta e nomes fora do padrão do projeto (veja abaixo) ou ilegibilidades gerais;
-
Toda definição global em um código fonte (i.e. fora da definição de uma classe) deve ser feita dentro de um namespace para tal propósito. Utilize (ou crie) o namespace do módulo modificado e evite comandos como "using namespace ..." para não ocorrer conflitos de nomes;
-
Toda pesquisa e implementação de novas abordagens devem gerar estatísticas e um relatório deve ser feito com os resultados utilizando as métricas de desempenho cabíveis;
-
Branches não devem sobreviver a mais de 1 (sprint) e o número de alterações possíveis por Pull Request será limitado por bom senso;
-
Todo código presente num Pull Request será analisado detalhadamente e não será aceito caso não esteja em sua forma mais otimizada possível. Os nomes de variáveis também serão analisados e deverão balancear descritividade com tamanho dos mesmos.
-
Evite utilizar 'cout's. Existem métodos para Debug, como log, sucesso, aviso, erro e erro fatal. Para utilizá-los, leia a seção "Debugando".
-
Um único comando que verifica se todas as dependências estão instaladas, instala as que estiverem faltando, compila o projeto e o executa:
sh run.sh
-
Para só instalar dependências e compilar o projeto:
sh build.sh
-
...ou, usando o make, digite:
make
para visualizar todas as opções de build e run disponíveis.
-
Todos os nomes devem ser em inglês;
-
Indentação deve ser feita com 4 espaços;
-
Nomes de classes devem respeitar o padrão CamelCase com a primeira letra maiúscula;
-
Nomes de métodos devem ter todas as letras minúsculas e diferentes palavras separadas por underline _;
-
Nomes de variáveis devem respeitar o padrão camelCase com a primeira letra minúscula.
-
Namespaces devem ter todas as letras maiúsculas e diferentes palavras separadas por underline _;
-
Constantes devem ter todas as letras maiúsculas sem separação de diferentes palavras;
-
Nomes de arquivos devem respeitar o padrão camelCase com a primeira letra minúscula;
-
Comentários gerais devem começar com letra minúscula e com um espaço depois do marcador de comentário (//, /*);
-
Chaves são abertas na frente do bloco, sem linhas especiais para estas;
-
Não são acrescentadas linhas em branco entre abertura/fechamento de bloco e conteúdo;
-
Operações matemáticas e argumentos devem ter espaço entre os operandos;
-
Marcadores como case e public/private não devem adicionar recuo aos comandos seguintes;
-
Não devem ter espaços entre uma palavra chave e um parêntese;
-
Após um fechamento de parêntese, adicione um espaço;
Como utilizar as funções de debug:
- Inclua o arquivo src/aux/debug.hpp antes da linha #ifndef (para que o compilador compartilhe os #define do arquivo de debug) e utilize alguma das funções abaixo.
Interface das funções:
- debug_log( string ): escreve uma linha de log normal (branca)
- debug_success( string ): escreve uma linha indicando sucesso numa operação (verde)
- debug_warning( string ): escreve uma linha avisando algo ocorrido (amarela)
- debug_error( string ): escreve uma linha de erro (vermelha)
- debug_fatal( string ): destaca uma linha quando ocorrer um erro fatal previsto (fundo vermelho)
Qualquer dúvida, consulte um administrador do projeto ou o Scrum Master.