www.digitalmars.com
Last update Sun Aug 20 17:04:32 2006

O Estilo D

O Estilo D é um sonjunto de convenções de estilo para escrever programas em D. O Estilo D não é forçado pelo compilador, é puramente cosmético e uma questão de escolha. Aderir ao Estilo D, porém, tornará mais fácil para os outros trabalharem com seu código d e mais fácil para você trabalhar com código D dos outros. O Estilo D pode ser o ponto de partida para um guia de estilo de projeto D customizado para seu time de projetos.

Submissões à Phobos e outros códigos fonte em D oficiais seguirão essas regras.

Espaço em Branco

Comentários

Convenções de Nomeação

Geral
Nomes formados pela união de múltipls palavras deveriam ter cada palavra diferente da primeira capitalizada. Nomes não deverão começar com subrinhado '_'.
int myFunc();
Módule
Nomes de módulos e pacoter são todos em letras minúsculas, e somente constém os caracteres [a..z][0..9][_]. Isso evita problemas quando lidando com sistemas de arquivo insensíveis ao caso.

Módulos C
Módules que são interfaces para funções C cão no pacote "c", por exemplo:
import std.c.stdio;
Nomes de módulos deveriam ser todos em letras minúsculas.

Nomes de classes, estruturas, uniões e enums
são todos capitalizados.
class Foo;
class FooAndBar;
Nomes de funções
Nomes de funções não são capitalizados.
int done();
int doneProcessing();
Nomes de contantes
Tudo maiúsculo.
Nomes de membros de enums
Tudo maiúsculo.

Apelidos sem sentido

Coisas como:
alias void VOID;
alias int INT;
alias int* pint;
deveriam ser evitadas.

Estilo de Declaração

Já que em D as declarações são associativas à esquerda, justifique-as à esquerda:
int[] x, y; // torna claro que x e y são do mesmo tipo
int** p, q; // torna claro que p e q são do mesmo tipo
para emfatizar suas relações. Não use o estilo C:
int []x, y; // confuso já que y também é um int[]
int **p, q; // confuso já que q também é um int**

Sobrecarga de Operadores

Sobrecarga de operadores é uma ferramente poderosa para extender o os tipos básicos suportados pela linguagem. Mas sendo poderoso, tem grande potencial para criar código obscuro. Em particular, os operadores existentes em D tem significados convencionais, tais como '+' significar 'somas' e '<<' significar 'deslocamento à esquerda'. Sobrecarregar o operador '+' com um significado diferente de 'soma' é arbitrariamente confuso e deveria ser evitado.

Notação Húngara

Apenas diga não.

Documentação

Todas as declarações públicas serão documentadas no formato Ddoc.

Testes de Unidade

Tanto quanto prático, todas as funções serão exercitadas por testes de unidade usando blocos unittest imediatamente seguindo a função a ser testada. Todo caminho do código deveria ser executado ao menos uma vez, verificado pelo analisador de cobertura de código.