Para garantir a qualidade de qualquer sistema temos um ponto muito importante a definir em nosso projeto, independente de ser um projeto desenvolvido por uma ou mais pessoas, este ponto é a padronização. A forma mais fácil de nosso código estar bem escrito, de forma fácil de entender onde todos da equipe possam saber tudo que acontece no sistema é padronizando o máximo possível do trabalho realizado. O padrão é algo que deve ser definido pela equipe de desenvolvimento antes do início do projeto. Após o padrão definido e o projeto ser iniciado, ele jamais pode ser alterado ou discutido, todos devem seguir o padrão. Estarei mostrando uma padronização que defini. Não sei se é a melhor ou a pior, só sei que se for bem seguida, qualquer projeto fica fácil de ser entendido. Retirei um pouco de sites, um pouco de livros e montei este padrão. Cada equipe de projeto deve se reunir antes do início do projeto e montar o seu padrão onde todos devem opinar e votar nos pontos mais críticos.
Padrão de nomenclatura arquivos
Tipo |
Nomenclatura |
Exemplo |
Formulário |
frm |
frmMenu |
Formulário (Janela Pop up) |
frmPop |
frmPopJanela |
Classe |
cls |
clsFuncionario |
Módulo |
mdl |
mdlModulo |
User Control |
wuc |
wucControle |
Folha de Estilo |
css |
cssFormulario |
Java Script |
jsc |
jscFuncao |
Relatório |
rel |
relRelatorio |
DataSet |
dst |
dstFatura |
XML |
xml |
xmlArquivo |
Custom Control |
cco |
ccoControle |
Página html |
htm |
htmPagina |
Padrão de Sub´s e funções
Subs
Tipo |
Nomenclatura |
Exemplo |
Pública |
spu |
spuOlaMundo |
Privada |
spr |
sprOlaMundo |
Funções
Tipo |
Nomenclatura |
Exemplo |
Pública |
fpu |
fpuOlaMundo |
Privada |
fpr |
fprOlaMundo |
Variáveis
Tipo |
Nomenclatura |
Exemplo |
Char, nChar, Varchar, nVarchar, Text, nText |
str |
strEmail |
Datetime, SmallDatetime |
dte |
dteDateCreated |
Tinyint, Smallint, Integer, Bigint |
int |
intContactID |
Bit |
bit |
bitPrimaryContact |
Real |
sng |
sngTotal |
Float, Double |
dbl |
dblLength |
Decimal |
dec |
decLength |
SmallMoney, Money |
cur |
curTotal |
Binary, varBinary |
bin |
binContract |
Image |
img |
imgLogo |
Timestamp |
tsp |
tspCurrent |
UniqueIdentifier |
guid |
guidOrderID |
Sql_Variant |
var |
varPrice |
Cursor |
crs |
crsInventory |
Boolean |
bln |
blnRetorno |
Objetos
Banco de Dados
Objeto |
Nomenclatura |
SqlConnection |
cnn |
SqlCommand |
cmd |
SqlDataAdapter |
adp |
SqlParameter |
prm |
SqlDataReader |
drd |
Controles
Objeto |
Nomenclatura |
AdRotator |
artCustomer |
ArrayList |
aylCustomer |
Button |
btnCustomer |
Calendar |
cldCustomer |
CheckBox |
chkCustomer |
CheckBoxList |
chkLCustomer |
ComboBox |
cboCustomer |
CompareValidator |
cmvCustomer |
CrystalReportViewer |
crvCustomer |
CustomValidator |
ctvCustomer |
DataColumn |
dclCustomer |
DataGrid |
dgdCustomer |
DataList |
dlsCustomer |
DataRow |
drwCustomer |
DataRowView |
drvCustomer |
DataSet |
dstCustomer |
DataTable |
dtbCustomer |
DataView |
dvwCustomer |
DropDownList |
ddlCustomer |
GroupBox |
grpCustomer |
Hashtable |
htbCustomer |
HyperLink |
hypCustomer |
Image |
imgCustomer |
ImageButton |
IbtnCustomer |
Label |
lblCustomer |
LinkButton |
lbtnCustomer |
LinkLabel |
llblCustomer |
ListBox |
lstCustomer |
Literal |
litCustomer |
Menu (WinForms) |
mnuItemMenu |
Panel |
pnlCustomer |
Picture |
picCustomer |
PlaceHolder |
plhCustomer |
ProgressBar |
prgCustomer |
RadioButton/OptionButton |
optCustomer |
RadioButtonList |
rbtnlCustomer |
RangeValidator |
rgvCustomer |
RegularExpressionValidator |
revCustomer |
Repeater |
repCustomer |
RequiredFieldValidator |
rfvCustomer |
TabControl |
tabCustomer |
Table |
tblCustomer |
TextBox |
txtCustomer |
ValidationSummary |
vsmCustomer |
WebService |
wseCustomer |
Xml |
xmlCustomer |
Procedures, Views e Functions
Nomenclatura (ex. Mailing)
mai |
_ |
ClienteInternacional |
_ |
|
3 letras do sistema |
|
Verbo ou Tabela |
|
i- inclusão u- alteração s- select d- delete v- view f- function |
Nomenclatura (ex. Banco de Dados Geral)
ger |
_ |
Pesquisar_Funcionario |
_ |
|
3 letras do Banco dbGeral |
|
Verbo |
|
i- inclusão u- alteração s- select d- delete v- view f- function |
Parâmetros de Procedures
Idêntico ao campo da tabela inclusive o tipo e o tamanho
Ex. Campo - cliCodigo char (10)
Declare @cliCodigo as char(10)
Caso não seja campo de tabela deve-se seguir o padrão de variáveis.
Tabela
ex. Cadastro de Clientes
tblCliente
Obs. Deve-se evitar comer palavas. Exemplo tblCliInternacional
Campo
ex. Razão Social no Cadastro de Clientes
cli |
RazaoSocial |
3 letras da tabela |
Nome do campo |
Tabelas com nomes compostos
Ex. Endereço na tabela tblClienteEndereco
Cle |
endereco |
2 primeiras letras referente ao primeiro nome e 1 a segunda tabela cl - cliente / e - endereço |
Nome do campo |
Obs. Campos Padrões
Data: Dt
Quantidade: Qtd
Data (ex. data de cadastro)
Cli |
Dt |
DataCadastro |
3 letras da tabela |
Padrão |
Nome do campo |
Código (ex. Código do cliente)
Cli |
Código |
3 letras da tabela |
Padrão |
Comentários
Banco de Dados
Sistemas
Obs: agradeço aos meus companheiros da Deloitte (Thiago, Pretel, Ícaro, Marcão, Cris e André) pela ajuda na criação deste padrão!!!
Se você tem interesse em aprender .net ou discutir .net entre no grupo de usuários Codificando.net - São Paulo.
Se tiver alguma dúvida, crítica, sugestão de artigo, fale comigo: atarifa@deloitte.com
Abraço.
Alexandre Tarifa
Líder Codificando.net SP / Brasil