Este documenta explícita as praticas de código utilizadas
na refatoração do projeto Deadly Wish. Elas foram estipuladas
a partir de fontes, experiencia indivdual e requerimentos da equipe.
"As every C++ programmer knows, the language has many powerful features,
but this power brings with it complexity, which in turn can make code more bug-prone and harder to read and maintain."(Google).
Todos os nomes de variáveis, métodos, rotas, classes e funções devem ser em inglês. Comentários devem ser em português.
Todos os nomes devem ser significativos, de forma que sejam auto explicativos.Exemplo:
Os nome de variaveis devem ser snake case. Exemplo:
O nome das constantes devem estar em upper with Underscore. Exemplo:
O nome de metódos devem estar em lower Snake Case, sendo que sua nomeclatura de estar associada a um verbo (ação). Exemplo:
O nome de metódos devem estar em upper Camel Case, sendo que sua nomeclatura de estar associada a um substantivo (entidade). Exemplo:
O nome dos arquivos devem conter o nome de sua respectiva classe com lower Camel Case
A identação deve ser equivalente a 4 espaços do teclado. Exemplo:
Declarar nome de classe e herança na mesma linha, pule uma linha antes de abrir chaves. Exemplo:
Sempre de espaço após virugalas ou ponto e vígula, para maior clareza na leitura do código. Exemplo:
Uma linha deve conter no maximo 100 caracteres.
Para a declrações de funções e métodos deve-se declarar tipo do método, pular uma linha, declarar o nome do método, pular mais uma linha e abrir chaves. O fechamaneto das chaves também de ser em nova linha respeitando a identação. Exemplo:
Deixar sem espaço depois do nome do método. Exemplo:
Após a declaração de um método ou classe é necessario fazer uma quebra de linha.
Todos os cometários devem ser relevante para um maior entendimento do código. Comentários com conteúdo que já pode ser inferido devem ser descartados.
Usar a sintaxe ' // ' para comentários de até duas linhas. Seja consistente com a forma como você comenta e com o estilo que você usa onde.
Usar a sintaxe padrão do Javadoc para comentários de 3 linhas ou mais. Exemplo:
Os comentários devem seguir o alinhamento do código.
Os comentários de cebeçario de arquivo devem ser no padrão presvisto pelo doxygen. O nome do arquivo de ve ser seguido da diretiva "\file", na linha seguinte deve vim uma breve descrição da função do arquivo seguido da diretiva "\brief". Exemplo:
Os comentários de cebeçario de classe devem ser no padrão presvisto pelo doxygen. O nome do arquivo de ve ser seguido da diretiva "\class", na linha seguinte deve vim uma breve descrição da função do arquivo seguido da diretiva "\brief". Exemplo:
Os comentários de cebeçario de função devem ser no padrão presvisto pelo doxygen. O nome do função e seus parametros deve ser seguido da diretiva "\fn", na linha seguinte deve vim uma breve descrição da função da diretiva "\brief". Após a descrição deve-se explicitar se a função é publica, privada ou protegida pelas diretivas "\public", "\protected", "\private". Os parametros para a função devem ser descritos após a diretiva "\param" seguido do nome do parametro o tipo dele e uma breve descrição. Deve-se explicitar também o retorno da função pela diretiva "\return" seguindo do tipo de retorno e uma breve descrição do mesmo.Exemplo:
Os comentários de variáveis devem ser no padrão presvisto pelo doxygen. O comentário das variáveis devem vim uma linha acima da variável com o nome da variável na sequencia da diretiva "\var". Em uma nova linha deve-se explicitar uma breve descrição da função da variavel após a diretiva "\brief".Exemplo:
Para algumas situações deve-se usar marcadores, quando o marcador é referente à alguma função ou variável ele deve vim em uma linha separada acima do outro bloco de comentário. O comentário do marcador deve ser feito com "\\". Os marcadores são:
Exemplo:
Folha de Estilo - NeonEdge, Disponivel em https://github.com/tecnicas-de-programacao-2017-2-grupo-3/neon-edge/wiki/Folha-de-Estilo
Folha de Estilo - SIGS, Disponivel em https://github.com/fga-eps-mds/2017.1-SIGS/wiki/Folha-de-Estilo
Google C++ Style Guide - Google. Disponivel em https://google.github.io/styleguide/cppguide.html
Doxygen. Disponivel em https://www.doxygen.nl/