|
|
O cliente pode não se interessar se o código de um sistema esta bem ou mal escrito, mas nós devemos ter essa preocupação - até porque, com um código limpo, a entrega para o cliente fica mais fácil.
|
|
|
|
|
|
Aqui vão algumas práticas que ajudam a melhorar a produtividade de um projeto. Obs.: iremos fazer nivelamento da equipe, então não se preocupem se aparecerem coisas que ainda não viram.
|
|
|
|
|
|
**Regra básica**
|
|
|
|
|
|
Pense antes de sair loucamente desenvolvendo. Faça um esquema, escreva em papel. Divida o seu problema em problemas menores, e em como tais problemas se ligam.
|
|
|
|
|
|
**Nomes**
|
|
|
|
|
|
- Tudo em Pt-BR. listRecurso, findCaminho... isso confunde bastante.
|
|
|
- Vamos respeitar os padrões de nomeação usados no Java/Javascript:
|
|
|
|
|
|
classes - substantivos, com a primeira letra de cada palavra em maiúscula: Investigador, OcorrenciaCrime.
|
|
|
|
|
|
instâncias - em minúscula. Pessoa pessoa = new Pessoa().
|
|
|
|
|
|
métodos - devem ser um verbo, seguido ou não por substantivos, com a primeira letra da primeira palavra em minúscula e as demais primeiras letras em maísculas: executarConsulta, cancelar.
|
|
|
|
|
|
variáveis - primeira em minúscula, demais primeiras em maíscula. int nome, Date horaOcorrencia
|
|
|
|
|
|
constantes - sempre em maiúsculas, com palavras separadas por underscores.
|
|
|
|
|
|
|
|
|
- Os nomes devem ser descritivos e concisos. Coisas como float x1, class AdcCnt... NÃO EXISTIRÃO
|
|
|
-
|
|
|
|
|
|
**Métodos, funções**
|
|
|
|
|
|
- Métodos e funções têm papeis específicos. Se o seu método parseia uma string, pega os cookies da página e acessa o banco, você tem TRÊS métodos, e invoca eles quando necessário.
|
|
|
- Blocos de código devem ser curtos sempre que possível. Se o seu bloco tem mais do que 50 linhas, considere reafatorar.
|
|
|
|
|
|
**Estrutura**
|
|
|
|
|
|
- Identação sempre!,
|
|
|
- Separação de código: evite declarar atributos de objetos HTML no HTML, isso é função do CSS. Da mesma forma, o CSS deve ser declarado apenas em arquivos .css, senão surgem páginas HTML contendo CSS, Javascript, C#, etc.
|
|
|
- Separação de responsabilidades: como iremos adotar o padrão MVC, deve ficar muito claro o que cada coisa faz. A camada de Models, por exemplo, deve apenas refletir as tabelas do banco de dados; se for necessário, deve-se criar uma ViewModel para armazenar os dados necessários. |
|
|
\ No newline at end of file |