29 maio 2005

Fim das férias

Essa segunda (amanhã) volto à labuta.

Provavelmente a quantidade de posts vai diminuir, mas pretendo manter esse blog sempre com alguma novidade (e não pretendo sossegar enquanto não concluir, pelo menos, a resenha desses livros que estou lendo).

27 maio 2005

Formato do código

Ok, vamos botar a mão na massa um pouquinho.

Quero falar sobre formato e padrão, para isso vou usar o exemplo clássico do Hello World.

Verifiquei que no livro "Java 2 - Ensino Didático" o autor Sérgio Furgeri (ou a Editora Érica) não tomou o devido cuidado com o posicionamento das chaves fazendo uma verdadeira "lambança", uma hora começando as chaves na mesma linha*, outra hora sob o primeiro caracter e outra sob o terceiro caracter (algumas vezes dentro de um mesmo código).

Outra lambança acontece com o conteúdo das chaves, uma hora sob as chaves outra hora na linha seguinte deslocado dois espaços (pegue o arquivo de exemplos do livro que você vai ver).

No livro dos irmãos Deitel a coisa não é tão grave, dá para pelo menos perceber um padrão. Eles só colocam as chaves sob o primeiro caracter quando se trata de um método, todos os outros são iniciados na mesma linha do comando. Quanto ao conteúdo das chaves, pelos exemplos que eu vi, estão sempre deslocados 3 espaços do primeiro caracter do comando.

Já o "Tudo que você queria saber sobre a JDBC" em todos os casos inicia as chaves ao final do comando seguindo sempre o mesmo padrão, mas tem o hábito de incluir comando após o fechamento das chaves (na mesma linha) quando se trata de if-else e try-catch. Apesar desse livro não ter como público alvo iniciantes ainda acho que não deveria ter sido usado esse formato de código (digamos que é meio "deselegante").

Mas vamos aos códigos, formatos e padrões...

Observe o primeiro código:
class HelloWorld
{
public static void main (String args[])
{
System.out.println("Hello World!");
}
}
Didaticamente falando acho que esse primeiro é o melhor formato, observe que o efeito visual de alinhamento permite que sejam facilmente identificados os conteúdo de cada comando.

Observe o formato usado no livro dos Deitel:

class HelloWorld {
public static void main (String args[])
{
System.out.println("Hello World!");
}
}
Eles usam 3 espaços, eu prefiro 2 pois o código fica mais compacto. Mas independente disso, estamos falando do "alinhamento" das chaves. Aqui o exemplo é pequeno e não tem outras estruturas como if-else, for, switch, mas abstraia um pouco e será possível ter uma noção de que esse não é o melhor formato, pelo menos não para iniciantes (público alvo do livro).

O terceiro formato é este (todas as chaves iniciando ao final da linha):

class HelloWorld {
public static void main (String args[]) {
System.out.println("Hello World!");
}
}
No que tange sobre inicantes esse formato de código chega a ser medonho.

* na mesma linha só me recordo de casos em que o método não tinha conteúdo.

26 maio 2005

Exerc. cap 3 - J2ED

Incluí os exercícios do capítulo 3.

J2ED: "Java 2 - Ensino Didático".

Que livros ler?

Ok, eu não resisti e inclui já o artigo do Oswaldo Bueno que eu comentei no outro post. Aproveitei para incluir uma seção "Artigos" no menu da direita.

Errata - Ensino Didático

Completei as informações do livro "Java 2 - Ensino Didático" na parte de erratas.
Agora só falta a minha resenha e os exercícios resolvidos (confesso que ainda não fiz os exercícios do capítulo 6 em diante).

Por onde começar?

Acabei de encontrar um texto muito bom sobre livros para quem quer iniciar em Java.
Está na página Magnet (magnet.com.br). O endereço do artigo é:
http://www.magnet.com.br/bits/especiais/2003/07/0001

(pretendo colocar uma versão dele aqui em breve)

22 maio 2005

Diversos.java

Inclui na parte de exemplos do livro Java 2 - Ensino Didático o arquivo Diversos.java pois o mesmo não consta no arquivo fornecido pela editora. Só que tem que selecionar, copiar e colar em um arquivo texto (deixa de querer tudo mastigado).

Também arrumei os exercícios do capítulo 2 que estavam com um visual não muito "didático".

Livro JDBC

Atualizado também o "Tudo o que você queria saber sobre a JDBC...".

Inclui sumário e sinopse. Os exemplos deve ter no CD que acompanha o livro, mas não consegui rodar o CD e devolvi para o colega que me emprestou o livro, então fico devendo (mas vou ter digitar tudo mesmo, então...).

E exercícios o livro não tem, então vai faltar mais a minha errata e minha resenha.

Enough por hoje.

Quase - Ensino Didático

A parte do Java 2 - Ensino Didático está quase pronta.

Já coloquei sumário e sinopse, e inclui os links dos exemplos e da errata fornecidos pela editora e o autor.
Também inclui os exercícios resolvidos dos 2 primeiros capítulos.

Faltam a minha resenha (assim que eu terminar de ler o livro), a minha errata (pretendo pelo menos incluir aquele erro do exemplo 9.7) e o resto dos exercícios do capítulo 3 ao 14 (o 15 não tem).

21 maio 2005

Livros Linkados

Nos livros que estou lendo coloquei links para um pequeno menu (por enquanto só o Ensino Didático tem conteúdo com link no menu).

Os menus serão formados por:
- Sumário (ou Índice Analítico)
- Sinopse (uma visão geral)
- Resenha/Crítica (minha crítica ao livro)
- Errata (minha e da editora, quando houver)
- Exemplos (se disponibilizados pelo autor/editora na internet)
- Exercícios (enunciado e solução)

Acho que isso cobre tudo, qualquer coisa adiciono o que faltar depois.

20 maio 2005

Back (e GUJ)

Cá estamos nós de volta.

Estou quase terminando (mais 50 páginas e uns exercícios) o Java 2 - Ensino Didático, pretendo disponibilizar uma página de críticas (e errata) sobre cada um desses livros que estou lendo, bem como os exercícios resolvidos. Infelizmente não tive resposta da Ed. Érica sobre o erro apontado neste livro do Sérgio Furgeri (vide post de 11 de maio). Como também não consegui encontrar uma forma de contato com o autor vou fazer minha parte de outro jeito :P

Nas minhas pesquisas no Google encontrei mais um portal/comunidade que parece interessante:
GUJ (Grupo de Usuários Java): http://www.guj.com.br/

13 maio 2005

Viagem

Página do Professor Odlaniger da CESUPA Pará (sei lá o que é CESUPA):
http://www.odlaniger.pro.br/Disciplinas/disciplinas.htm
Tem dois links aí, o LTP1 e o LTP2 com vários textos sobre Java e vários exercícios.

Do dia 15 a 20 estarei viajando. Ah, e ontem foi meu níver! 30 aninhos :)

11 maio 2005

Ensino Didático

Para quem está aprendendo pelo livro "Java 2 - Ensino Didático" de Sérgio Furgeri, encontrei um erro que ainda não está na errata (mandei e-mail para eles hoje).

Trata-se da linha 75 do exemplo 9.7 (na primeira edição do livro). Essa linha está sem função. Para que o efeito dela seja mostrado é necessário incluir a linha abaixo logo após a linha 81:
if(lista.getSelectedValue() != null)

Este exemplo e os demais do livro encontram-se disponíveis para download no site da editora: www.erica.com.br (http://download.editoraerica.com.br/java2/exemplos.exe)

10 maio 2005

JPasswordField - getText

Primeiro post, primeira dica (foi essa situação e a falta de soluções satisfatórias que me motivaram a abrir esse blog).

getText está "deprecated" (depreciado, colocado de lado)

Ele foi substituído pelo getPassword, mas tem um porém, enquanto o getText era do tipo String o getPassword é do tipo char. Então supunhetemos que você tinha esse código:

if (pass.getText().equals("MinhaSenha"))
  System.out.println("Senha válida.");
else
  System.out.println("Senha Incorreta.");

o seu novo código passa a ser:

if (new String (pass.getPassword()).equals("MinhaSenha"))
  System.out.println("Senha válida.");
else
  System.out.println("Senha Incorreta.");

onde previamente você tinha definido:
JPasswordField pass;
pass = new JPasswordField();

ou numa linha só:
JPasswordField pass = new JPasswordField();