SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Dicas de codificação
                  Parte I


Wende Mendes Higino

email: wende.mendes@bluesoft.com.br
Objetivo

Dar dicas de como escrever um
      código maravilhoso
Livro
Código de fácil leitura
Escrever um código com
 qualidade é uma arte
Menos é mais
Esforce -se para acrescentar
 métodos e deletar código
Pense antes de codificar
O que um design com qualidade?
Sempre ter a opção de
 reaproveitar código
BluesoftELFunctions
public static String concat(final Object str1, final Object str2) {
    return String.valueOf(str1) + String.valueOf(str2);
}

public static Time intToTime(final Integer time) {
    return DataSistema.intToTime(time);
}

public static String toString(final Object object) {
    return String.valueOf(object);
}

public static Object coalesce(final Object s1, final Object s2) {
    return s1 == null || String.valueOf(s1).equals("null") ? s2 : s1;
}

public static boolean contains(final Collection<?> collection, final Object o) {
    return collection.contains(o);
}

public static Integer getSize(final Collection<? extends Object> collection) {
    Integer size = 0;
    if (!CollectionUtil.isEmpty(collection)) {
         size = collection.size();
    }
    return size;
}
public static String getCompetencia(final Integer anoMes) {
    return String.valueOf(DataSistema.anoMesToCompetencia(anoMes));
}
Entenda bem do negócio, para
construir código com qualidade
Professores ensinam
      padrões
Métodos e classes com poucas
      linhas de código
“ Se eu tivesse mais
tempo lhe escreveria uma
     carta mais curta”




Blaise Pascal
Sempre que possível
   roube código
Obrigado
http://www.f ickr.com/photos/25160379@N03/3605886280/
           l
http://www.f ickr.com/photos/moreno/495261846/sizes/l/
           l
http://www.f ickr.com/photos/lisboaqueamanhece/2101463091/
           l
http://www.f ickr.com/photos/doperdopez/2826772718/sizes/l/
           l
http://www.f ickr.com/photos/pedazodevacio/326184912/
           l
http://www.f ickr.com/photos/lesec/3191306795/sizes/o/
           l
http://www.f ickr.com/photos/10258975@N07/4428121416/sizes/l/
           l
http://www.f ickr.com/photos/28317710@N05/3175407178/
           l
http://www.f ickr.com/photos/13514552@N02/3173209191/
           l
http://www.f ickr.com/photos/lucamorlok/3077066114/sizes/o/
           l
http://www.f ickr.com/photos/neilsingapore/3595250019/sizes/l/
           l
http://www.f ickr.com/photos/alreis/134314824/sizes/o/
           l

Weitere ähnliche Inhalte

Ähnlich wie Dicas de codificação parte I

[CLPE] Design patterns com c#
[CLPE] Design patterns com c#[CLPE] Design patterns com c#
[CLPE] Design patterns com c#
Felipe Pimentel
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodb
Thiago Avelino
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
CDS
 

Ähnlich wie Dicas de codificação parte I (20)

[CLPE] Design patterns com c#
[CLPE] Design patterns com c#[CLPE] Design patterns com c#
[CLPE] Design patterns com c#
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Mock Objects
Mock ObjectsMock Objects
Mock Objects
 
Criando sua própria linguagem de programação
Criando sua própria linguagem de programaçãoCriando sua própria linguagem de programação
Criando sua própria linguagem de programação
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache Spark
 
Estruturas
EstruturasEstruturas
Estruturas
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Função malloc
Função mallocFunção malloc
Função malloc
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodb
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Fit Metrocamp 2016
Fit Metrocamp 2016Fit Metrocamp 2016
Fit Metrocamp 2016
 
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserver
 
Processar fluxos de textos usando filtros
Processar fluxos de textos usando filtrosProcessar fluxos de textos usando filtros
Processar fluxos de textos usando filtros
 
Csharp.intro
Csharp.introCsharp.intro
Csharp.intro
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
 
Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de ...
 
O que mudou no Ruby 1.9
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9
 
Minicurso Ruby on Rails
Minicurso Ruby on RailsMinicurso Ruby on Rails
Minicurso Ruby on Rails
 

Mehr von Wende Mendes

Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3
Wende Mendes
 

Mehr von Wende Mendes (20)

Rotas com angular
Rotas com angularRotas com angular
Rotas com angular
 
Angular Nodejs e com mongolab
Angular Nodejs e com mongolabAngular Nodejs e com mongolab
Angular Nodejs e com mongolab
 
Apreenda a trabalhar em equipe
Apreenda a trabalhar em equipeApreenda a trabalhar em equipe
Apreenda a trabalhar em equipe
 
Motivação e Metas para Equipe
Motivação e Metas para EquipeMotivação e Metas para Equipe
Motivação e Metas para Equipe
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play framework
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e Dependências
 
100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-Design
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosApresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5
 
Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplos
 
Ruby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisRuby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito mais
 
Ruby com Objetos e classes
Ruby com Objetos e classesRuby com Objetos e classes
Ruby com Objetos e classes
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a ruby
 
Javaone2010
Javaone2010Javaone2010
Javaone2010
 
Palestra hudson
Palestra hudsonPalestra hudson
Palestra hudson
 
Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3
 
Domain-Driven-Design
 Domain-Driven-Design Domain-Driven-Design
Domain-Driven-Design
 
Dicas de codificação parte II
Dicas de codificação parte IIDicas de codificação parte II
Dicas de codificação parte II
 

Kürzlich hochgeladen

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Kürzlich hochgeladen (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Dicas de codificação parte I

  • 1. Dicas de codificação Parte I Wende Mendes Higino email: wende.mendes@bluesoft.com.br
  • 2. Objetivo Dar dicas de como escrever um código maravilhoso
  • 5. Escrever um código com qualidade é uma arte
  • 7. Esforce -se para acrescentar métodos e deletar código
  • 8. Pense antes de codificar
  • 9. O que um design com qualidade?
  • 10. Sempre ter a opção de reaproveitar código
  • 11. BluesoftELFunctions public static String concat(final Object str1, final Object str2) { return String.valueOf(str1) + String.valueOf(str2); } public static Time intToTime(final Integer time) { return DataSistema.intToTime(time); } public static String toString(final Object object) { return String.valueOf(object); } public static Object coalesce(final Object s1, final Object s2) { return s1 == null || String.valueOf(s1).equals("null") ? s2 : s1; } public static boolean contains(final Collection<?> collection, final Object o) { return collection.contains(o); } public static Integer getSize(final Collection<? extends Object> collection) { Integer size = 0; if (!CollectionUtil.isEmpty(collection)) { size = collection.size(); } return size; } public static String getCompetencia(final Integer anoMes) { return String.valueOf(DataSistema.anoMesToCompetencia(anoMes)); }
  • 12. Entenda bem do negócio, para construir código com qualidade
  • 14. Métodos e classes com poucas linhas de código
  • 15. “ Se eu tivesse mais tempo lhe escreveria uma carta mais curta” Blaise Pascal
  • 16. Sempre que possível roube código
  • 18. http://www.f ickr.com/photos/25160379@N03/3605886280/ l http://www.f ickr.com/photos/moreno/495261846/sizes/l/ l http://www.f ickr.com/photos/lisboaqueamanhece/2101463091/ l http://www.f ickr.com/photos/doperdopez/2826772718/sizes/l/ l http://www.f ickr.com/photos/pedazodevacio/326184912/ l http://www.f ickr.com/photos/lesec/3191306795/sizes/o/ l http://www.f ickr.com/photos/10258975@N07/4428121416/sizes/l/ l http://www.f ickr.com/photos/28317710@N05/3175407178/ l http://www.f ickr.com/photos/13514552@N02/3173209191/ l http://www.f ickr.com/photos/lucamorlok/3077066114/sizes/o/ l http://www.f ickr.com/photos/neilsingapore/3595250019/sizes/l/ l http://www.f ickr.com/photos/alreis/134314824/sizes/o/ l