|
|
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
|
|
|
|
|
|
- Se você precisa contextualizar demais alguma coisa, talvez seja uma boa ideia criar uma nova estrutura específica para tal. Ex.: PrimeiroNomeAluno, EndereçoAluno... => classe Aluno, atributos Nome, Endereço...
|
|
|
|
|
|
|
|
|
|
|
|
**Métodos, funções**
|
|
|
|
|
|
|
|
|
- Métodos e funções têm papeis específicos. Se o seu método parseia uma string, pegar informações do HTML 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.
|
|
|
|
|
|
- Níveis de abstração (isso pode ser um pouco complicado de pegar, então, ignore se não se sentir confortável): para garantir que sua função faz UMA coisa, tente manter todos as ações no mesmo nível de abstração. No exemplo acima, mesmo que tenhamos três funções, ainda assim não é boa ideia chamar todas elas no mesmo bloco - HTML, manipulação de strings e acesso a banco são três coisas bem distintas.
|
|
|
|
|
|
|
|
|
|
|
|
**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.
|
|
|
|
|
|
|
|
|
|
|
|
_Voltar para a [página principal](/RepublicaDoAfeto/wiki/wikis/home)_ |
|
|
\ No newline at end of file |