Este documento fornece dicas para programadores Java iniciantes e experientes. Ele discute como lidar com medos e mitos, aprender lógica de programação e estrutura de dados, e seguir um caminho para o sucesso através de treinamentos, certificações, livros e eventos. O documento também oferece conselhos sobre como ser um programador pragmático e efetivo em Java.
1. Como se dar bem com Java
Wagner R. dos Santos
Arquiteto Java
® P R O FI S S Ã I O J A V A , é um evento de G L O B A L C O D E
2. Apresentação
• Arquiteto Java EE / Scrum Master
• Lead Editor da Queue Arquitetura do Portal InfoQ
Brasil (http://infoq.com/br).
• Participação na tradução / testes do NetBeans 5.5
• Palestrante de eventos como Just Java, Sun Tech
Days, Campus Party.
• Premiações em competições de tecnologia .
• Autor de artigos para as revistas Mundo Java e
Java Magazine.
• Participação em diversos projetos Open Source.
• Certificações: SCJA, SCJP, SCSNI, SCJWSD, SCBCD,
SCEA (I), Duke Awards e CSM.
• Mantém o blog http://netfeijao.blogspot.com
3. Agenda
Introdução
Primeiros Passos
Pragmatic Programmer
Roadmap para o Sucesso
Java Efetivo
Conclusão
4. Warning
• Tenha um
computador.
• Saiba mexer no seu
computador.
• Conheça um pouco
seu Sistema
Operacional.
6. Primeiros Passos
R ec eios e m ito s
Como faço para • O que é Orientação a
aprender Java ? Objeto ?
• Java é difícil !!!
• Medo do mercado de
trabalho.
• Vivo no mundo
procedural.
• Não sei inglês.
• Não tenho
experiência.
• Idade.
15. Programador Pragmático
P ens e a res peito do s eu tra ba lho
• PENSAR é o mantra do programador pragmático
• Entenda o porquê da atividade que esta sendo
feita.
• Pense sobre o que você esta fazendo enquanto
programa.
16. Programador Pragmático
D ê opç ões . S em des c ulpa s es fa rra pa da s .
• Antes de dar uma desculpa de que algo não
funcione, pare e pense!
• Tente Refatoração.
• Não entendeu direito o programa. Tente protótipos
Post-its!
17. Programador Pragmático
T enha na m ente s em pre o todo .
• O que esta sendo desenvolvido esta de
acordo com o objetivo de sistema?
19. Programador Pragmático
I nvis ta no s eu c o nhec im ento reg ula rm ente
• Aprenda uma linguagem nova por ano.
• Leia um livro técnico a cada 3-4 meses.
• Leia livros não técnicos também.
• Participe de grupos de usuário
• Tente ambientes diferentes.
• Mantenha-se informado.
25. Roadmap para o Sucesso
• 5º P a s s o : Saiba das últimas
• I nfoQ - http://www.infoq.com/
• T he S erver S ide - http://www.theserverside.com/
• D Z one - http://www.dzone.com/
• J a va S un - http://java.sun.com/
• ja va .net - http://www.java.net/
• e um a infinida de de blog s ...
28. Outras Dicas
• A prenda s o bre
infra -es trutura
– Redes
– Telecomunicações
– Sistemas Operacionais
– Banco de Dados
– Segurança
• “ Lembre-se que por trás de um grande sistema, existe
uma grande infra-estrutura.”.
29. Outras Dicas
U tilize feeds e fique a tua liza do , s eg ue a lg uns feeds
úteis .
• J a va P o s s e: http://feeds.feedburner.com/javaposse
• J a va S pec ia lis ts : http://w w w .ja va s pec ia lis ts .eu/a rc hive/tjs n.rs s
• O ´ eilly N ew s : http://feeds 2.feedburner.c o m /o reilly/ja va ? fo rm a t=rs s 2
R
• C o re J a va : http://blog s .s un.c om /C o reJ a va T ec hT ips /feed/entries /a to m
• M a rtin Fo w ler: http://martinfowler.com/bliki/bliki.rss
• A g ile: http://leadinganswers.typepad.com/leading_answers/atom.xml
• A rtim a : http://www.artima.com/spotlight/feeds/spotlight.rss
• D Z o ne J a va : http://w w w .dzo ne.c o m /link s /feed/fro ntpa g e/ja va /rs s .x m l
Jogue tudo no e ...
..divirta –se...
30. Outras Dicas
Ferra m enta s pa ra c o nhec er.
• I D E : NetBeans, Eclipse, JDeveloper.
• T es te U nitá rio: JUnit, TestNG.
• I nteg ra ç ã o C ontínua : CruiseControl, Hudson.
• A ná lis e E s tá tic a : FindBugs
• P a c otes de R a s trea m ento de R ede:
WireShark
• V irtua liza ç ã o: VMWare, Xen, VirtualBox,
31. Outras Dicas
P a c o tes O brig a tó rio s do J D K .
• ja va .la ng .reflec t.
• ja va x .s c ript.
• ja va x .m a na g m ent / ja va x .la ng .m a na g m ent.
• ja va .util.c o nc urrent.
• ja va .util.*
• ja va .util.log g ing :
• ja va .bea ns
• ja va x .s ec urity
• ja va x .x m l.pa rs er.* ; ja va x .x m l.bind;
32. Outras Dicas
T endênc ia s
• Cloud Computing.
• Closure em Java.
• Linguagens Dinâmicas.
• SOA.
• Metodologias Ágeis.
• Redes Sociais.
33. Programador Java Efetivo
C la s s es e I nterfa c es
• Minimize o Acesso das classes e membros.
• Favoreça composição ao invés de Herança
• Prefira Interfaces do que Classes Abstratas.
• Minimize Mutabilidade
34. Programador Java Efetivo
C ria ç ã o de O bjeto s
Procure user métodos static factory ao invés de
construtores.
public static Boolean valueOf(boolean b) {
return b ? Boolean.TRUE : Boolean.FALSE;
V a nta g ens :
}
• Diferente de Construtores, métodos tem nome.
• Não requer criar um novo objeto sempre que
invocado.
• Retornam um objeto de qualquer subtipo.
35. Programador Java Efetivo
C ria ç ã o de O bjeto s
Considere utilizar Builder quando tiver muitos
Parâmetros no Construtor.
• Dificil de escreve código cliente.
• Dificil de ler.
• Posso trocar um parâmetro
• Posso ser forçado a colocar parâmetros
indesejados.
37. Agradecimentos
OBRIGADO !!!!
E m a il: wrsconsulting@gmail.com
B lo g : http://netfeijao.blogspot.com
T w itter: http://twitter.com/wrsantos
e até a próxima...