SlideShare uma empresa Scribd logo
1 de 18
{ Programe a eficácia do
seu código }
Ana Claudia Nogueira
 Formada em desenvolvimento web –
Faculdade IBTA;
 12 anos trabalhando com desenvolvimento
web;
 Programadora Freelancer;
 Book Lover;
 about.me/anacnogueira.
 Eficiência:
 sf (lat efficientia)1Ação, capacidade de
produzir um efeito; eficácia.
 Fazer certo as coisas.
 Eficácia:
 sf(lat efficacia)1 Qualidade daquilo que é
eficaz.2 Qualidade daquilo que produz o
resultado esperado;
 Fazer a coisa certa
 Código claro e fácil de entender;
 Nomenclatura de variáveis, métodos, e
classes certos e compreensíveis;
 Utilize padrão de formatação da linguagem;
 Layout de indentação bem definido
(tabulações x espaços);
 Pense no código como uma prosa.
 Remova código morto;
 Remova comentários desnecessários;
 Sempre refatore seu código;
 Evite redundância;
 Mais linhas de código não quer dizer mais
software.
Test All the Fucking Time;
 Utilize programação orientada a testes (TDD);
 Testes devem ser inscritos antes da implementação;
 Teste de unidade;
 Teste de integração;
 Teste de sistema;
 Atente-se ao tamanho do código e como ele
é distribuído;
 Um sistema de classes pode ser reduzido a
uma única classe ou quebrada em outras
menores;
 Cuidado com os acoplamentos;
 Reduza a complexidade ciclomática do seu
código.
 Alguns bugs são fáceis de encontrar e
depurar;
 A maioria deles não ;
 Utilize testes e arquivos de log para descobrir
onde eles habitam;
 Vasculhe o Sistema de Controle de versões
atrás de pistas;
 Utilize ferramentas de Debug;
 Casos extremos:
 Faça uma pausa
 Explique para outra pessoa
 Evite copiar e colar muitas vezes o mesmo
trecho;
 Stack overflow não é repositório de código;
 Adicione classes ou bibliotecas que
realmente serão usadas no projeto;
 Quando for possível, não reinvente a roda.
 Utilizar não é opcional;
 Armazenar o mínimo possível;
 Não armazene códigos dinâmicos;
 Armazene as versões do software;
 Inclua arquivo README;
 Faça commits pequenos e frequentes;
 Escreva mensagens de commits curtas e
fáceis de entender.
 Ter um conhecimento de novas técnicas
requer tempo e esforço;
 Ser um bom programador vai além do
conhecimento técnico;
 Procure fazer códigos legíveis e fáceis de
manter para você e para outros
programadores;
 Troque o café pelo CHA:
 Conhecimento, Habilidade e Atitude.
 Como ser um programador melhor, Pete
Goodlife – Ed. Novatec
 Welcome to the Django – Henrique Bastos
 about.me/anacnogueira
 anacnogueira@gmail.com
 (12)98826-9414

Mais conteúdo relacionado

Mais procurados

Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaLeandro Parazito
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação Icaro Camelo
 
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
 
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPPedro Chaves
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"thiagobapt
 
TDD - Workshop Pyladies SP
TDD - Workshop Pyladies SPTDD - Workshop Pyladies SP
TDD - Workshop Pyladies SPJessyka Lage
 
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?Weverton Timoteo
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Bruno Maomeh
 
Impacto dos frameworks PHP
Impacto dos frameworks PHPImpacto dos frameworks PHP
Impacto dos frameworks PHPThiago Rodrigues
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilElias Nogueira
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 

Mais procurados (20)

Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da cultura
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
 
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
 
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHP
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"
 
TDD
TDDTDD
TDD
 
TDD - Workshop Pyladies SP
TDD - Workshop Pyladies SPTDD - Workshop Pyladies SP
TDD - Workshop Pyladies SP
 
RealDay: Introduction to TDD
RealDay: Introduction to TDDRealDay: Introduction to TDD
RealDay: Introduction to TDD
 
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Impacto dos frameworks PHP
Impacto dos frameworks PHPImpacto dos frameworks PHP
Impacto dos frameworks PHP
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016
 
Condingdojo
CondingdojoCondingdojo
Condingdojo
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 

Semelhante a Programe a eficácia do seu código

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
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Gabriel Rubens
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshopguestd37c23
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingJ. C.
 
Xp Comdex
Xp ComdexXp Comdex
Xp ComdexJ. C.
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingMarcelo Láias
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Php Conf08 Refactoring
Php Conf08 RefactoringPhp Conf08 Refactoring
Php Conf08 RefactoringWildtech
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 

Semelhante a Programe a eficácia do seu código (20)

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...
 
Codigo limpo.pptx
Codigo limpo.pptxCodigo limpo.pptx
Codigo limpo.pptx
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
 
Qualidade de Código
Qualidade de CódigoQualidade de Código
Qualidade de Código
 
Código limpo php
Código limpo phpCódigo limpo php
Código limpo php
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshop
 
Clean Code na prática
Clean Code na práticaClean Code na prática
Clean Code na prática
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Xp Comdex
Xp ComdexXp Comdex
Xp Comdex
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
O programador pragmático
O programador pragmáticoO programador pragmático
O programador pragmático
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Php Conf08 Refactoring
Php Conf08 RefactoringPhp Conf08 Refactoring
Php Conf08 Refactoring
 
TDC 2015 - Torne-se um programador melhor
TDC 2015 - Torne-se um  programador melhorTDC 2015 - Torne-se um  programador melhor
TDC 2015 - Torne-se um programador melhor
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 

Programe a eficácia do seu código

  • 1. { Programe a eficácia do seu código } Ana Claudia Nogueira
  • 2.  Formada em desenvolvimento web – Faculdade IBTA;  12 anos trabalhando com desenvolvimento web;  Programadora Freelancer;  Book Lover;  about.me/anacnogueira.
  • 3.  Eficiência:  sf (lat efficientia)1Ação, capacidade de produzir um efeito; eficácia.  Fazer certo as coisas.  Eficácia:  sf(lat efficacia)1 Qualidade daquilo que é eficaz.2 Qualidade daquilo que produz o resultado esperado;  Fazer a coisa certa
  • 4.
  • 5.  Código claro e fácil de entender;  Nomenclatura de variáveis, métodos, e classes certos e compreensíveis;  Utilize padrão de formatação da linguagem;  Layout de indentação bem definido (tabulações x espaços);  Pense no código como uma prosa.
  • 6.  Remova código morto;  Remova comentários desnecessários;  Sempre refatore seu código;  Evite redundância;  Mais linhas de código não quer dizer mais software.
  • 7. Test All the Fucking Time;
  • 8.  Utilize programação orientada a testes (TDD);  Testes devem ser inscritos antes da implementação;  Teste de unidade;  Teste de integração;  Teste de sistema;
  • 9.  Atente-se ao tamanho do código e como ele é distribuído;  Um sistema de classes pode ser reduzido a uma única classe ou quebrada em outras menores;  Cuidado com os acoplamentos;  Reduza a complexidade ciclomática do seu código.
  • 10.
  • 11.  Alguns bugs são fáceis de encontrar e depurar;  A maioria deles não ;  Utilize testes e arquivos de log para descobrir onde eles habitam;  Vasculhe o Sistema de Controle de versões atrás de pistas;  Utilize ferramentas de Debug;  Casos extremos:  Faça uma pausa  Explique para outra pessoa
  • 12.  Evite copiar e colar muitas vezes o mesmo trecho;  Stack overflow não é repositório de código;  Adicione classes ou bibliotecas que realmente serão usadas no projeto;  Quando for possível, não reinvente a roda.
  • 13.  Utilizar não é opcional;  Armazenar o mínimo possível;  Não armazene códigos dinâmicos;  Armazene as versões do software;  Inclua arquivo README;  Faça commits pequenos e frequentes;  Escreva mensagens de commits curtas e fáceis de entender.
  • 14.  Ter um conhecimento de novas técnicas requer tempo e esforço;  Ser um bom programador vai além do conhecimento técnico;  Procure fazer códigos legíveis e fáceis de manter para você e para outros programadores;  Troque o café pelo CHA:  Conhecimento, Habilidade e Atitude.
  • 15.  Como ser um programador melhor, Pete Goodlife – Ed. Novatec  Welcome to the Django – Henrique Bastos
  • 16.
  • 17.