Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Republica-Do-Afeto
  • wiki
  • Wiki
  • boas praticas

boas praticas · Changes

Page history
Update boas praticas authored Sep 01, 2019 by Virgilius F. T. dos Santos's avatar Virgilius F. T. dos Santos
Hide whitespace changes
Inline Side-by-side
boas-praticas.md
View page @ 5289359b
......@@ -7,50 +7,25 @@ Aqui vão algumas práticas que ajudam a melhorar a produtividade de um projeto.
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 Inglês. listRecurso, findCaminho... isso confunde bastante.
Vamos respeitar os padrões de nomeação usados no Java:
- 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...
* 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.
- Blocos de código devem ser curtos sempre que possível. Se o seu bloco tem mais do que 50 linhas, considere refatorar.
- 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.
- Identação sempre!
- Separação de responsabilidades: como iremos adotar o padrão MVVM, deve ficar muito claro o que cada coisa faz.
_Voltar para a [página principal](/home)_
\ No newline at end of file
Clone repository
  • arquitetura
  • banco_dados
  • boas praticas
  • configuracao
  • firebase
  • git
  • gp
  • Home
  • horarios
  • instalacao
  • mockups
  • requisitos
  • retrospectivas
  • sprints
  • testes