Um espaço aberto para dialogar, compartilhar conhecimentos e experiências.
10        Boas
          Práticas de
          Programação

Carlos Eduardo A. Schults
@carlosschults
carlos.schults@gmail.com
10 Boas Práticas de Programação
10 Boas Práticas de Programação
10 Boas Práticas de Programação
10 Boas Práticas de Programação
0. Indentação Correta
#função original
def f( x )
   # indentação com tab de 4 espaços
   Math.log( x ) - x + 2
End


#função modificada
def g( x )
   Math::E**( x - 2 )
end
10 Boas Práticas de Programação
10 Boas Práticas de Programação
10 Boas Práticas de Programação
1. Nomes consistentes
<?php
    $n = array( 10, 10, 10, 10 );
    $sn = 0;
    $q = count( $notas );

     for ( $contadorDoFor = 0; $contadorDoFor < $q; $contadorDoFor++ ) {
          $sn += $n[$contadorDoFor];
     }

     $m = $sn / $q;

     // ------------------------------------------------------------------------

     $notas = array( 10, 10, 10, 10 );
     $somaNotas = 0;
     $qtdElementos = count( $notas );

     for ( $i = 0; $i < $qtdElementos; $i++ ) {
          $somaNotas += $notas[$i];
     }

     $media = $somaNotas / $qtdElementos;
?>
2. Comentar é bom...
<?php
    // função para calcular o fatorial de um número
    function fatorial( $numero )
    {
         // fatorial de 0, por definição, é 1
         if ( 0 == $numero ) {
               return 1;
         }

         /**
         * fatorial de um número é o próprio número, multiplicado pelo fatorial
         * do número anterior
         */
         return $numero * fatorial( $numero - 1 );
     }
?>
3. ...mas não exagere :P
# se valor da variável idade for maior ou igual a 18
if idade >= 18
     # atribui 'Vai trabalhar vagabundo' à variável idade
     mensagem = 'Vai trabalhar vagabundo'
else # se idade for menor que 18
     # atribui 'Vai estudar vagabundo' à variável idade
     mensagem = 'Vai estudar vagabundo'
end

# imprime na tela a variável mensagem
puts mensagem
4. Siga um padrão de codificação
5. Não Se Repita (DRY)
6. Você não vai precisar disso (YAGNI)
           You Aren't Gonna Need It
7. Evite Muitos Níveis de Indentação
7. Evite Muitos Níveis de Indentação
8. Evite Linhas Muito Longas
8. Evite Linhas Muito Longas

Procure limitar em 80 (ou no máximo 100) caracteres
8. Evite Linhas Muito Longas

Procure limitar em 80 (ou no máximo 100) caracteres
9. Evite Funções Que Contam Em Testes
                de Laço
10 Boas Práticas de Programação
“ Sempre programe como se o cara que vai
acabar dando manutenção no seu código
fosse um psicopata violento que sabe onde
você mora.”
Martin Golding
http://blog.thiagobelem.net/php-as-10-melhores-praticas-pra-um-iniciante/

http://blog.thiagobelem.net/melhores-praticas-para-deixar-seu-codigo-legivel/

http://net.tutsplus.com/tutorials/php/why-youre-a-bad-php-
programmer/

http://net.tutsplus.com/tutorials/html-css-techniques/top-15-best-
practices-for-writing-super-readable-code/

http://net.tutsplus.com/tutorials/php/30-php-best-practices-for-beginners/

http://pt.wikipedia.org/wiki/Don't_repeat_yourself

http://pt.wikipedia.org/wiki/YAGNI

Mais conteúdo relacionado

PPTX
Apresentação Clean Code
PPTX
Clean Code
PDF
Livro Código limpo: Classes
PPTX
Clean Code (Robert C. Martin)
KEY
Clean code
PPTX
Clean code - Mantenha seu código limpo
PPTX
Código Limpo
PPTX
Introdução à programação
Apresentação Clean Code
Clean Code
Livro Código limpo: Classes
Clean Code (Robert C. Martin)
Clean code
Clean code - Mantenha seu código limpo
Código Limpo
Introdução à programação

Mais procurados (20)

PDF
Princípios de projeto e boas práticas de programação em Java - Márcio Torres
PDF
Refatoração - aquela caprichada no código
PDF
Algoritmos e Programação: Conceito e comportamento de variável. Operadores. A...
ODP
Minicurso Ruby on Rails Dextra
PDF
Guia Rápido de Referência Java
PDF
Guia rapido java v2
PDF
Java - Primeiros passos
PDF
Curso de Java (Parte 3)
PPTX
4. Introdução à linguagem de programação Java – Fundamentos de Programação
PDF
Spring framework 2.5
ODP
Código Limpo
PDF
Boas práticas no desenvolvimento de software
PDF
Introdução a Banco de Dados (Parte 3)
PPTX
Lógica de programação
PPTX
Curso Básico de Java - Aula 2
PDF
Removendo o cheiro ruim do seu código - SoLiSC 2011
PDF
04 - C# laços de repetição, vetores e matrizes v1.0
PPTX
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
PPT
Algoritmo 04 - Estruturas de decisão
PDF
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Princípios de projeto e boas práticas de programação em Java - Márcio Torres
Refatoração - aquela caprichada no código
Algoritmos e Programação: Conceito e comportamento de variável. Operadores. A...
Minicurso Ruby on Rails Dextra
Guia Rápido de Referência Java
Guia rapido java v2
Java - Primeiros passos
Curso de Java (Parte 3)
4. Introdução à linguagem de programação Java – Fundamentos de Programação
Spring framework 2.5
Código Limpo
Boas práticas no desenvolvimento de software
Introdução a Banco de Dados (Parte 3)
Lógica de programação
Curso Básico de Java - Aula 2
Removendo o cheiro ruim do seu código - SoLiSC 2011
04 - C# laços de repetição, vetores e matrizes v1.0
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
Algoritmo 04 - Estruturas de decisão
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Anúncio

Destaque (20)

PDF
Boas praticas em um Projeto de Banco de Dados
PPT
boas praticas
PPSX
Boas práticas de programação em C# .NET
PPTX
Boas práticas técnica para um código limpo (Clean Code)
PDF
Conceitos e técnicas de programação aula 1
PDF
7Masters jQuery - boas práticas em JavaScriptQuery, com Bruno Rocha
PPT
Scrum, Agilismo e Boas Práticas
PDF
Boas Práticas de Programação
PPT
Coding Standards & Best Practices for iOS/C#
PDF
O uso dos porquês
PPT
4 Tarefa Plano Aula Bullying Claudia Cunha O Ignacio
PDF
Viva jovem, venha conhecer!
PDF
Semanal fechada 6 ano
PDF
Agile Brazil 2013 - Resumo
PPTX
Introdução aos Servlets e JSPs
PDF
Boa Práticas no Desenvolvimento Java Enterprise
PDF
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
PPT
Certificações Java
PDF
Roteiro 6 ano
PDF
Repaso semanal aberta 2 6 ano
Boas praticas em um Projeto de Banco de Dados
boas praticas
Boas práticas de programação em C# .NET
Boas práticas técnica para um código limpo (Clean Code)
Conceitos e técnicas de programação aula 1
7Masters jQuery - boas práticas em JavaScriptQuery, com Bruno Rocha
Scrum, Agilismo e Boas Práticas
Boas Práticas de Programação
Coding Standards & Best Practices for iOS/C#
O uso dos porquês
4 Tarefa Plano Aula Bullying Claudia Cunha O Ignacio
Viva jovem, venha conhecer!
Semanal fechada 6 ano
Agile Brazil 2013 - Resumo
Introdução aos Servlets e JSPs
Boa Práticas no Desenvolvimento Java Enterprise
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Certificações Java
Roteiro 6 ano
Repaso semanal aberta 2 6 ano
Anúncio

Semelhante a 10 Boas Práticas de Programação (20)

PDF
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
PPTX
PDF
PHP básico para iniciantes
PPT
Aula4
PDF
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
PDF
apostila.pdf
PDF
Programação Web com PHP 7.x
ODP
Minicurso - Web sites dinâmicos: PHP com orientação a objetos
PPTX
Programando php com excelência
PDF
Revista programar php -iniciação
PPTX
Slides do cuso_php
PDF
PHP Day - PHP para iniciantes
PDF
Php Conf08 Refactoring
KEY
Boas Práticas, Práticas !
PPT
2ª aula php
PPTX
Introdução ao php
PDF
Minicurso de PHP para iniciantes - Mario Araujo Xavier
PDF
Programando Melhor - Flisol
PDF
Php women oficina iniciante de php
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
PHP básico para iniciantes
Aula4
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
apostila.pdf
Programação Web com PHP 7.x
Minicurso - Web sites dinâmicos: PHP com orientação a objetos
Programando php com excelência
Revista programar php -iniciação
Slides do cuso_php
PHP Day - PHP para iniciantes
Php Conf08 Refactoring
Boas Práticas, Práticas !
2ª aula php
Introdução ao php
Minicurso de PHP para iniciantes - Mario Araujo Xavier
Programando Melhor - Flisol
Php women oficina iniciante de php

Último (12)

PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Utilizando code blockes por andre backes
PDF
Manejo integrado de pragas na cultura do algodão
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
Jira Software projetos completos com scrum
PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PPTX
Tipos de servidor em redes de computador.pptx
Viasol Energia Solar -Soluções para geração e economia de energia
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Utilizando code blockes por andre backes
Manejo integrado de pragas na cultura do algodão
Processos no SAP Extended Warehouse Management, EWM100 Col26
Analise Estatica de Compiladores para criar uma nova LP
Jira Software projetos completos com scrum
Conceitos básicos de Redes Neurais Artificiais
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Tipos de servidor em redes de computador.pptx

10 Boas Práticas de Programação