SlideShare uma empresa Scribd logo
1 de 31
Padrões Web & Coding Standards Boas Maneiras na Programação Web por Antonio Albuquerque
Sobre Mim ,[object Object],[object Object],[object Object]
[object Object]
Uma Breve história sobre a Simplicidade ,[object Object],[object Object],[object Object],[object Object]
A simplicidade em 4 regras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Princípio do KISS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Navalha de Ockham ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Princípios e Argumentos ,[object Object],[object Object],[object Object],[object Object]
Método DRY ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
World Wide Web : O início A web foi criada em 1989, no  CERN , por Tim Berners-Lee, para otimizar a comunicação no centro europeu de pesquisas nucleares. Berners-Lee criou o HTML, uma linguagem de  marcação  para formatar os documentos que seriam distribuídos em rede. Como tratava de documentos formais, o HTML não tinha uma preocupação visual, sendo informação pura. A marcação era utilizada para determinar o que significava cada elemento. Anos mais tarde, o projeto do CERN foi aberto e a internet tornou-se a rede mundial de computadores.  As potencialidades de comunicação e negócio logo fizeram a internet tornar-se bastante popular e a necessidade de um maior apelo visual para o comércio logo surgiu.
Padrões Web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Padrões Web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cross-browser Cross-browser  refere-se à habilidade de um site, Aplicação Web, construtor HTML ou script side-client suportar múltiplos navegadores.
Vantagens ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding Standards ,[object Object]
Coding Standards ,[object Object],[object Object],[object Object],[object Object]
Coding Standards ,[object Object]
Coding Standards Evite o espaguete!!
Coding Standards: O Início Os programadores  c/c++  já utilizam padrões e convenções a anos e  Todd Hoff’s , criou aquele que acredito ser o primeiro manual sobre coding standards e que serviu de base para muitos outros e de diferentes linguagens.  http://www.possibility.com/Cpp/c++_coding_standards.pdf
Coding Standards Mas sem dúvida alguma, o “Boom” do coding standard veio com a gigante linguagem de programação  Java   e seus fiéis seguidores. A Sun desenvolveu uma ótima documentação de Coding Standards, que é seguida pelos desenvolvedores Java, e como Padrão de Documentação em Código, criou um sistema de documentação excelente conhecido como  JavaDoc , onde há ferramentas que geram a documentação HTML e em outros formatos baseado nos blocos de documentação feitos no código fonte.
Coding Standards ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding Standards: PHPDOC http://www.phpdoc.org/
Coding Standards ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding Standards ,[object Object],[object Object],[object Object],[object Object]
Coding Standards ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding Standards Item  Estilo  Exemplos  Obs. Classe  Upper Camel Case  ExemploDeClasse  Método/Função  Lower Camel Case  exemploDeMetodo  Objeto/Atributo/Variável  Lower Camel Case  exemploDeAtributo  Constantes  Upper Case / Underline  LIMIT, MAX_SIZE  Pastas  Singular / Underline / Lower Case  model, view, img, lib  Bom senso quando abreviar  Arquivos de classe  Upper Camel Case  ExemploControll.php  Nome igual ao nome da classe  Demais arquivos  Singular / Underline /  Lower Case  index.php, estilo.css
Coding Standards ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Coding Standards ,[object Object],[object Object],[object Object]
Dúvidas
[object Object]
Referências ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Mais procurados (13)

Apostila curso xhtml css
Apostila curso xhtml cssApostila curso xhtml css
Apostila curso xhtml css
 
TDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do TesteTDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do Teste
 
Montando sites com XHTML e CSS utilizando os padrões web
Montando sites com XHTML e CSS utilizando os padrões webMontando sites com XHTML e CSS utilizando os padrões web
Montando sites com XHTML e CSS utilizando os padrões web
 
Html manual
Html manualHtml manual
Html manual
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Aprender html5 em 4 passos
Aprender html5 em 4 passosAprender html5 em 4 passos
Aprender html5 em 4 passos
 
Programando com prazer com DDD
Programando com prazer com DDDProgramando com prazer com DDD
Programando com prazer com DDD
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para Linux
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehave
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Web
 
Uml
UmlUml
Uml
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 

Semelhante a Padrões Web: Simplicidade e Coding Standards

Além do MVP com PHP - TDC POA 2015
Além do MVP com PHP  - TDC POA 2015Além do MVP com PHP  - TDC POA 2015
Além do MVP com PHP - TDC POA 2015Romeu Mattos
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Thiago Barradas
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Romeu Mattos
 
A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...
A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...
A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...Joberto Diniz
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshopguestd37c23
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...Kamilla Queiroz Xavier
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livreRuan Carvalho
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software LivreRuan Carvalho
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
 

Semelhante a Padrões Web: Simplicidade e Coding Standards (20)

Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Além do MVP com PHP - TDC POA 2015
Além do MVP com PHP  - TDC POA 2015Além do MVP com PHP  - TDC POA 2015
Além do MVP com PHP - TDC POA 2015
 
além do mvp com php
além do mvp com phpalém do mvp com php
além do mvp com php
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016
 
A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...
A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...
A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas d...
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Código limpo php
Código limpo phpCódigo limpo php
Código limpo php
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshop
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 

Padrões Web: Simplicidade e Coding Standards

  • 1. Padrões Web & Coding Standards Boas Maneiras na Programação Web por Antonio Albuquerque
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. World Wide Web : O início A web foi criada em 1989, no CERN , por Tim Berners-Lee, para otimizar a comunicação no centro europeu de pesquisas nucleares. Berners-Lee criou o HTML, uma linguagem de marcação para formatar os documentos que seriam distribuídos em rede. Como tratava de documentos formais, o HTML não tinha uma preocupação visual, sendo informação pura. A marcação era utilizada para determinar o que significava cada elemento. Anos mais tarde, o projeto do CERN foi aberto e a internet tornou-se a rede mundial de computadores. As potencialidades de comunicação e negócio logo fizeram a internet tornar-se bastante popular e a necessidade de um maior apelo visual para o comércio logo surgiu.
  • 11.
  • 12.
  • 13. Cross-browser Cross-browser refere-se à habilidade de um site, Aplicação Web, construtor HTML ou script side-client suportar múltiplos navegadores.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Coding Standards Evite o espaguete!!
  • 19. Coding Standards: O Início Os programadores c/c++ já utilizam padrões e convenções a anos e Todd Hoff’s , criou aquele que acredito ser o primeiro manual sobre coding standards e que serviu de base para muitos outros e de diferentes linguagens. http://www.possibility.com/Cpp/c++_coding_standards.pdf
  • 20. Coding Standards Mas sem dúvida alguma, o “Boom” do coding standard veio com a gigante linguagem de programação Java e seus fiéis seguidores. A Sun desenvolveu uma ótima documentação de Coding Standards, que é seguida pelos desenvolvedores Java, e como Padrão de Documentação em Código, criou um sistema de documentação excelente conhecido como  JavaDoc , onde há ferramentas que geram a documentação HTML e em outros formatos baseado nos blocos de documentação feitos no código fonte.
  • 21.
  • 22. Coding Standards: PHPDOC http://www.phpdoc.org/
  • 23.
  • 24.
  • 25.
  • 26. Coding Standards Item Estilo Exemplos Obs. Classe Upper Camel Case ExemploDeClasse Método/Função Lower Camel Case exemploDeMetodo Objeto/Atributo/Variável Lower Camel Case exemploDeAtributo Constantes Upper Case / Underline LIMIT, MAX_SIZE Pastas Singular / Underline / Lower Case model, view, img, lib Bom senso quando abreviar Arquivos de classe Upper Camel Case ExemploControll.php Nome igual ao nome da classe Demais arquivos Singular / Underline / Lower Case index.php, estilo.css
  • 27.
  • 28.
  • 30.
  • 31.