Esta apresentação guia o estudante por um roteiro no qual ele pode praticar os recursos básicos da IDE NetBeans como localização em projetos, navegação nos métodos de uma classe, dobramento de código, depuração, e mais.A apresentação acompanha um roteiro (http://www.slideshare.net/kaleu/roteiro-prtica-netbeans) para ser realizado ao final da aula teórica como forma de estimular o estudante a utilizar os recursos vistos na prática.É importante conhecimento de GitHub para baixar o projeto (caso não exista, basta fazer download do projeto na página do GitHub indicada nos slides) e conhecimentos básicos de OO.Não estou seguro para uso desta aula sem a guiança de um professor. Recomendo os slides para que um professor altere e o utilize para as suas aulas.Os Slides foram desenvolvidos com LibreOffice 3.5
- 1. Orientao a Objetos 2 Carinhosamente chamada OO
2. Aula 4 - Objetivo
- Compreender a necessidade do uso deAmbientes Integrados de
Desenvolvimentoe utilizar com eficincia osrecursos bsicos do
NetBeans .
3. Agenda
- Parte 1 (terica)
- Ambientes Integrados de Desenvolvimento (IDE) 4. NetBeans x
Eclipse(alis, NetBeans x Eclipse x JBuilder x JCreator x IntelliJ x
JDeveloper) 5. O Netbeans
6. Agenda
- Parte 2 (terica e prtica)
- O Projeto base (Chuck Tetris); 7. Janelas; 8. Atalhos; 9.
Projetos; 10. To-do's 11. Edio de cdigo;
12. Agenda
- Parte 3 (terica e prtica)
- O Depurador; 13. E tem mais?(tende ao infinito, srio)
14. Agenda
- Parte 4 (prtica)
- Roteiro para que vocs experimentem novamente os recursos.
15. Parte 1 Compreendendo a importncia dosAmbientes Integrados
de Desenvolvimento (Integrated Development Environment) . 16.
IDE
- AmbienteIntegradode Desenvolvimento; 17. DesenvolvimentoRpidode
Aplicativos;
18. Ambiente Integrado(alguns recursos) Editor :escrita rpida de
cdigo, auto-completar, gerao de cdigo, etc; Compilador: Gera cdigo
de mquina a partir do fonte do projeto automaticamente; Deploy
:Realiza a publicao da aplicao, gerao de executveis, etc; . Cdigo
Limpo e Otimizado: facilita o entendimento do projeto por todos os
envolvidos; Testes Automatizados: Execuo de cdigos para garantir
integridade do software aps modificaes; Depurador: Facilta a busca
por erros no cdigo atravs da anlise cuidadosa de cada passo
executado pelo software; 19. Qual IDE escolher?
- Cada linguagem de programao costuma tervrias opes de IDE ,
gratuitas, pagas, especficas, genricas, etc... 20. A escolha dever
ser feita a partir dassuas necessidades ; 21. No possvel dizerqual
a melhorde uma forma geral; 22. Entre as IDE's mais usadas
profissionalmente para Java estoEclipse, NetBeans e IntelliJ ;
23. IntelliJA Mais Inteligente 24. EclipseProvavelmente a mais
utilizada em ambiente profissional 25. NetBeansMil e uma utilidades
(IDE Bombril ) 26. JDeveloperRecomendada para ambientes com Banco
de Dados Oracle 27. JCreatorRpida, confivel e amigvel(porm, mais
limitada) 28. JBuilderO caminho mais rpido para desenvolver
aplicaes comerciais em Java 29. MakeWare Basil, sil, sil. 30. O
NetBeans(Gros Conectados) 31. Referncias Parte 1
- Wikipedia 32. Site Netbeans 33. Site Eclipse 34. Site IntelliJ
35. Site JBuilder 36. Site JCreator 37. Site JDeveloper 38. Site
MakeWare 39. Frum GUJ, NetBeans ou Eclipse?
40. Parte 2 Recursos, atalhos e dicas que facilitam o dia-a-dia
do desenvolvedor. 41. Agenda
- Parte 2 (terica e prtica)
- O Projeto base (Chuck Tetris); 42. Janelas; 43. Atalhos; 44.
Projetos; 45. To-do's 46. Edio de cdigo.
47. ChuckTetris
- S escutando aprendemos pouco; 48. Vamos utilizar um projeto
para ir conhecendo os recursos da IDE na prtica; 49. Nosso objetivo
conseguir navegar pelo projeto facilmente utilizando os recursos da
IDE;
50. ChuckTetris no GitHub
- Acesse a pgina do projeto no GitHub
https://github.com/kaleucaminha/ChuckTetris 51. Faa umforkpara
voc(lembra? o boto no alto e direita.) ; 52. Faa o clone do seu
fork(para sua pasta de projetos no pen drive) git clone
[email protected]: seufork 53. Abra o projetocom o NetBeans utilizando
a opo "Abrir Projeto";
54. Are you ready? 55. Para saber quando executar alguma
atividade... Quando voc ver este smbolo, pode realizar a atividade
que ele descreve. 56. Janela Projeto
- Exibe cdigose pacotes relativos aos projetos abertos; 57.
Arquivos no importantespara o projeto no so exibidos; 58. O
negritoidentifica o projeto principal; 59. Use as setas do
tecladopara navegar entre os pacotes, use enter para abrir um
arquivo, Ctrl+1 para voltar para a janela projeto e Ctrl+0 para ir
para o editor;
60. Arquivos e Servios 61. Ferramentas Para Executar o Projeto
Clique na seta verde para executar o projeto. 62. Atalhos Procure
no carto, atalhos que paream teis para voc. 63. Atalhos
Selecionados (18) Foco do Cursor Ctrl + 0 Editor de Cdigo Ctrl + 1
Janela Projetos Ctrl + 6 Navegao na Classe Ctrl + 7Janela de
Tarefas Ctrl + Shift + 0 Resultados da Pesquisa Edio de Cdigo Ctrl
+ Shift + C Editor de Cdigo Ctrl + Shift + menos Janela Projetos
Ctrl + Shift + baixo Navegao na Classe Alt + Shift + F Janela de
Tarefas Ctrl + QVai para ltima edio de cdigo Geral F6 Executa proj.
principal Ctrl + F12 Exibe janela para encontrar mtodos e atributos
de uma classe Alt + Shift + Enter Tela Cheia Ctrl + Shift + F Busca
em Projetos Edio Mgica de Cdigo Ctrl + R Refatorar / Renomear Alt +
Insert Gerar cdigo Alt + F7 Encontra ocorrncias de uma determinada
varivel ou classe. Ctrl + Espao Exibe auto-completar. 64. Navegando
no Projeto Estrutura de Pastas no NetBeans Estrutura de pastas fora
do netbeans Pacotes Bibliotecas Localizar em Projetos Substituir em
Projetos 65. Estrutura de Pastas no NetBeans Verifique o contedo da
pasta bibliotecas. Nos prximos projetossempre adicionaremos novas
bibliotecas. 66. Estrutura de pastas do arquivo 67. Pacotes
- para grandes aplicaes preciso organizar as classes de maneira
a:
- Evitar problemas com nomes duplicados de classes; 68. Localizar
o cdigo da classe de forma eficiente;
69. Bibliotecas
- Bibliotecas soconjuntos de classesque podemos utilizar me
nossos projetos; 70. Bibliotecasagilizammuito o desenvolvimento;
71. Algumas bibliotecas que vocs j conhecem so osDrivers para banco
de dados ; 72. Este semestre tambm utilizaremos outras duas,
oJInpute ojavaPlay ; 73. Paraadicionar e/ou removerbibliotecas de
um projeto, clique com o boto direito sobre a pasta
"bibliotecas";
74. Adicionando Bibliotecas
- A IDE j possui muitas bibliotecas registradas (e voc pode
inclusive adicionar outras). Para us-as no seu projeto, basta
acessar a opo "Adicionar Biblioteca". 75. Se quiser adicionar um
.jar, basta usar "Adicionar jar/pasta". Lembre-se de deixar o jar
dentro da pasta do projeto quando adicion-lo, assim, ele estar
sempre com a sua aplicao.
76. Localizar em ProjetosCtrl + Shift + F
- comum precisarmosbuscar um mtodo ou varivelem um projeto e
termos esquecido em qual classe o colocamos. 77. Um recurso muito
til este. Voclocaliza qualquer textono projeto initeiro;
78. 79. Localize todos os locais no projeto principal que
utilizam o termo pontuacao, assim, voc saber todos os locais que
lidam diretamente com a pontuao do jogador. 80. Substituir em
ProjetosCtrl + Shift + H
- Em algum momento voc pode querer substituir um determinado
texto que tenha utilizado; 81. Por exemplo, recentemente traduzi
"cidade" para "citie" em um projeto. Obviamente, tive de corrigir
em diversos lugares alterando para "city". O substituir timo nestes
casos.
82. Refatorar nomes de Classes
- Refatorar tem dois sentidos em programao OO;
- 1) Quando queremosreescrever um determinado trecho de cdigo
porque ele ficou mal organizado.Assim, podemos dizer que vamos
refatorar o mtodo XYZ. 83. 2) Quandoalteramos um nome de classe,
mtodo ou atributo e queremos que este nome mude em todos os pontos
do softwareonde ele usado. Por exemplo, digamos que voc no tenha
gostado do nome "Cenario" e prefira "EspacoJogo", voc ir refatorar
o nome da Classe "Cenario";
84. Refatorar nomes de Classes
- 1)Reescrever cdigode uma maneira organizada uma tarefa artstica
e complexa,de modo que as IDE's no podem fazer isso por ns; 85.
2)Alterar o nome de uma classeem todos os pontos possveis uma
tarefa repetitiva e simples , portanto, as IDE's conseguem
automatizar isto para ns.
- Para refatorar o nome de uma classeclique com o boto direito em
cima da classe, acesserefatorare depoisrenomear .
86. 87. Altere o nome de uma classe que voc no gostou da forma
como foi chamada. Lembre-se, o Fork seu, o importante que voc o
deixe o mais organizado que conseguir. 88. To-Do's 89. To-Do's
- Muito frequentemente voc selembra no meio do desenvolvimentoque
faltou verificar alguma coisa em outro algoritmo. 90. Por exemplo,
enquanto eu refatorava o gameLooplembrei que uma hora precisaria
adicionar controle pelo Teclado . Porm, no teria como fazer isso
naquele momento. A forma normal de resolver esta questo anotar em
algum lugar para fazer a tarefa mais tarde. As IDE's no so to
usadas a toa, at estes recursos elas possuem. 91. Abra o seu editor
e digiteCtrl + 6
92. Janela de Tarefas Realize o to-do iniciando com Prtica Aula.
Com duplo clique voc direcionado para o trecho de cdigo do to-do.
Aps faz-lo, apague o comentrio. No faa nenhum dos outros agora,
teremos um bom tempo para isso na segunda parte da aula. 93. Edio
de Cdigo Dobramento de Cdigo Localizar Cdigo Interao com a janela
de navegao Barrinha da direita Lidando com erros Auto-completar
Inserir Cdigo Renomear / Refatorar 94. Navegando dentro de uma
classe
- Classes com mais de 10 mtodos j comeam a ficar difceis de se
trabalhar pela quantidade de Scroll necessrio para chegar a cada
mtodo, sem falar no trabalho em ficar procurando o mtodo que
queremos sem saber a ordem em que ele est. 95. Isso s piora quando
no fomos ns que fizemos as classes. 96. Para nos ajudar, temos os
recursos de dobramento de cdigo, localizao de contedo e janela de
navegao.
97. Dobramento de Cdigo
- Este recursominimiza todos os mtodos e comentrios . 98. Para
visualiz-lo, acesse a classe Cenario e pressioneCtrl + Shift +
menos 99. Utilize ocone +/-para maximizar/minimizar o cdigo; 100.
Para maximizar tudo,Ctrl + Shift + mais
101. 102. Dobramento de Cdigo
- Quando estiver em um mtodo especfico, utilizeCtrl + maiseCtrl +
menospara maximizar e minimizar o mtodo;
103. Localizar Cdigo
- Dentro de uma classe comum precisarmos pesquisar um texto
especfico.Ctrl + F 104. Alm disso voc pode utilizarF3eShift +
F3para navegar entre os resultados da busca; 105. Outra dica
usarCtrl + F3quando estiver com um texto selecionado. O NetBeans ir
procurar as outras ocorrncias dentro da classe;
106. Testando a localizao
- Selecione o atributo gradeda classe cenrio e pressioneCtrl + F3
; 107. Agora, pressioneF3para ver todos os lugares onde a matriz
representando o cenrio utilizada;
108. Janela de Navegao
- Atravs dele possvelvisualizar todos os atributos e mtodosde uma
classe e acess-los rapidamente com duplo clique; 109. Experimente-o
digitandoCtrl + 7e selecionando alguns dos mtodos da janela.
Aproveite e teste os cones na barra inferior da janela e
descubra a utilidade de cada um deles. 110. Navegao Modo Ninja
- PressioneCtrl + F12 ; 111. Utilize assetas do tecladopara
chegar ao mtodo que deseja; 112. PressioneEntere siga o
desenvolvimento.
113. Barrinha da Direita
- Essa barrinha geralmente passa despercebida, porm, pode ser til
em grandes classes, cada cor representa alguma coisa: 114.
Amarelo:Aviso / Dica da IDE; 115. Vermelho:Erro; 116. Verde:Seleo
de texto; 117. Linha:Cursor do texto; 118. Marrom:ocorrncias da
varivel onde o cursor est; 119. Cinza:Favoritos (voc pode marcar
uma linha como favorita usando Ctrl + Shift + M)
120. Auto Completar
- raro lembrarmosexatamente os nomes dos mtodos que construmos;
121. As IDE's nos ajudam exibindo o auto-completar; 122. Este
recurso busca todos os mtodos e atributosde uma classe quando
utilizamos um objeto desta classe; 123. Ele tambmencontra nomes de
variveise outras dicas; 124. Para test-lo, use um objeto e
pressioneCtrl + Espao
125. Vendo o auto-completar em ao
- V at o mtodogameLoopda classeControleTetris ; 126.
digitecenario.(cenrio o nome do objeto da classe Cenario e . a
forma de acessar os seus mtodos); 127. PressioneCtrl + espaoou
espere alguns instantes, a IDE o exibe automaticamente se voc parar
de digitar;
128. 129. Inserir Cdigo
- Getters, Setters, construtores e outros mtodos so comuns e
padronizados. Quando construirmos uma classe no necessrio gerar
getters e setters manualmente, voc pode inser-los utilizandoAlt +
Insert ; 130. Experimente criando um atributocidadeOrigempara o
jogador que armazenar o nome da cidade do jogador. Use o gerador
para gerar ogetter e setterdeste atributo;
131. 132. Refatorar variveis de uma classe
- Mudar nomes de variveis muito comum e necessrio para escrever
cdigos fceis de entender; 133. para mudar muito rapidamente
diversas ocorrncia de uma determinada varivel em uma classe utilize
o comandoCtrl + Rem umtexto selecionado; 134. Aps executar o
atalhovoc poder alterar o nome da varivel que automaticamenteela
ser alterada em todos os outros locais;
135. No mtodopodeMovimentarda classeCenario , refatore o nome da
varivelproximaCasapara o nomevalorProximaCasa . 136. Parte 3
Recursos Avanados 137. Depurador
- Depurador a ferramenta que nos permiteanalisar a execuo de um
cdigo passo-a-passo para poder encontrar problemas ; 138. Na
refatorao do ChuckTetris eu o utilizei para:
- Descobrir porque o jogo dava gameOver na hora que uma pea era
adicionada ao cenrio; 139. Descobrir porque quando eu movimentava
peas na ltima linha, apenas a metade superior delas se movia; 140.
Entender porque as benditas peas continuavam descendo ao chegar no
final do cenrio; 141. Resolver o problema das peas se desmontarem
quando eu as movia para esquerda e porque ficavam perfeitas quando
as movia para a direita;
142. Pontos de Interrupo
- Um depurador funciona a partir depontos de interrupo . Voc pode
adicionar um a qualquer linha executvel do seu cdigo(no pode em um
comentrio ) ; 143. Para adicionar, apenas clique no nmero da
linha;
144. Depurador em Ao
- Para ver o depurador em ao, execute o botoDepurar o Projeto
Principal ; 145. Uma nova barra de botes de controle ser exibida.
Deixe seu software ao lado do netbeans para poder acompanhar o
andamento do depurador.
146.
- Com as duas telas lado a lado, inicie um novo jogo. Aps colocar
seu nome o projeto ser interrompido na linha marcada; 147.
Pressione o botoPassar sobre (F8)para acompanhar o jogo; 148.
Quando quiser entrar dentro de um mtodo pressione o botoPassar
dentro (F7) ; 149. Explore os demais botes conforme achar
necessrio.
150. Depurador: Variveis
- A cada passo do jogo, as variveis assumem determinados valores.
Voc pode visualiz-los pela janela variveis que ser exibida na barra
inferior do netbeans;
151. Por fim,Use o Depurador sem moderao. 152. E tem mais?
- Code Template; 153. Profile; 154. Atalhos personalizados; 155.
Scripts de deploy automticos; 156. Integrao com Git, SVN e outros;
157. E o principal responsvel pelos recursos de uma IDE tenderem ao
infinito, plugins.! 158. Voc pode encontrar plugins para muitas
coisas, GameBuilder, Modelagem 3D, etc...
159. Mas fiquem tranquilos, assim como trabalhar com o Git, usar
uma IDE um longo processo. Eu levei 4 anos para aprender a usar um
depurador, para usar atalhos como o maravilhoso Ctrl + F12 e por a
vai. O mais importante sempre dedicarem um breve tempo para estudar
os recursos da IDE que forem utilizar, sem dvida ser um tempo muito
bem gasto e que ir economizar muitas horas no futuro. 160. Parte 4
Roteiro prtico para exerccio das tcnicas aprendidas. 161.
Prtica
- Estes recursos ns s aprendemos quando precisamos deles; 162.
Criei um roteiro paar que vocs coloquem em prtica o que vimos aqui
ao mesmo tempo que revisam um pouco de cdigo java; 163. O Roteiro
est no site da disciplina e utiliza o mesmo projeto ChuckTetris.
164. Divirtam-se.