sábado, abril 09, 2011

Livro Java Dicas & Truques

Adquiri recentemente o livro Java Dicas & Truques da Editora Brasport. Registre-se que peguei uma promoção interessante, por isso arrisquei a compra. E não me arrependi:

Minha opinião pós leitura:

Achei um livro interessante.

Realmente está de acordo com o título (Mais de 100 dicas, são 109 na verdade), para todos os níveis. Realmente está de acordo.

Desenvolvo em java desde 1998, e confesso que aprendi ao menos uma coisa nova. Sabia que existia em C#, mas não tinha certeza da existência em java. Estou falando do item 80.

O livro tem conteúdo suficiente para montar algumas transparências para algumas aulas. Particularmente adotaria o livro. A qualidade do livro é resultado do autor ser Professor também.

Os tópicos que achei interessante, com explicações claras e interessantes:
10. Assertions;
22. Clonando Objetos;
24. Compactando arquivos;
30. Conversão implítica de tipos;
42. Expressões Regulares;
47. Horário de Verão;
54. Java Virtual Machine;
55. Javadoc;
56. Liberando Recursos;
59. Manipulando bits;
80. Parâmetros de Compilação;
81. Parâmetros de Execução;
97. Sincronizando Threads; (O melhor exemplo que já vi)
98. Sockets TCP;
103. Threads;
104. Throw e Throws;
107. Tratamento de Exceções;
108. Variáveis Transient;
109. Variáveis Volatile;

Não leva a nota máxima pois vi alguns raros erros de tipografica e conceituais.

Outra recomendação é usar fontes diferentes para palavras reservadas, classes da API, e a ausência de índice remissivo.

terça-feira, abril 05, 2011

usando equals em String

Outro dia um rapaz na empresa me perguntou qual seria a forma mais recomandada para uso do método equals para string. No seguinte formato:

Opção 1:

void algumMetodo(String s) {
  if (s.equals("")) {
    //faz algo
  }
}

Opção 2:
void algumMetodo(String s) {
  if ("".equals(s)) {
    //faz algo
  }
}

Para alguns pode ser que não faça a menor diferença, salvo gosto pessoal ou regras de implementação do projeto. Porém, expliquei pra ele que sem sombras de dúvidas, a segunda opção deve ser usada sempre por um motivo simples:

Se a "String s" passada no parametro for null, na opção 2  avaliação da condição simplesmente retorna false e não executaria o corpo do método. Na opção 1, seria lançada uma NullPointerException e o controle sairia do método.

Ele entendeu :)

j.

sexta-feira, abril 01, 2011

O Projeto do Projeto

Recentemente ganhei uma cortesia da Editora Elsevier um exemplar do livro O Projeto do Projeto. Gostei muito da leitura.

Sobre o livro, posso descrever que é destinado para diversas áreas. Das que lembro claramente:

  1. Engenharia;
  2. Administração/Gestão de Projetos;
  3. Informatica;
  4. Arquitetura de Computadores;

Não é um livro técnico, mas sim uma mistura de pesquisa científica com romance e autobiografia.
A parte onde o autor descreve o projeto de construção de sua casa, eu achei um tanto cansativo.
Acredito que para um professor de engenharia ou de gestão de projetos, esse trecho seja mais interessante.

Por outro lado, a parte que trata de áreas de tecnologia, como "escopo", "arquitetura", evolução do OS/360 são realmente fascinantes.
A parte de escopo tem exemplos perfeitos.

O livro deve ser lido por todos os professores das áreas que citei acima, e para alunos formando de graduação ou pos-graduandos, pois é de um nível elevado para graduandos.
O conteúdo rende algumas aulas, e algumas transparências de muita qualidade. Um bom diálogo e uma troca de experiêcias entusiasmante.

Fiquei impressionado por todos os créditos devidamente atribuidos, exatamente como uma pesquisa científica.

Enfim, ótimo livro para leitura complementar, e para trabalhos específicos.

Para adoção, talvez em disciplinas de gestão.

quarta-feira, março 30, 2011

Integração de Sistemas com Java

Comprei recentemente o livro Integração de Sistemas com Java da Editora Brasport.

Honestamente não gostei do livro. E abaixo está minha visão do livro.


O título do livro é imponente.

Vou usar uma frase que aprendi com um amigo, e sempre uso-a onde é conveniente, e nesse caso é:

"Um mar de conhecimento, com um palmo de profundidade."

O livro fala de muita coisa, mas tudo muito superficialmente.

Além disso, possui muita página com código, e a maioria com erros de compilação (não precisei compilar, só de ver o código dá pra ver o erro).

O único capítulo interessante foi o 12. Preenchimento de Telas, mas não tem linha de código e limitado a meia página.

O livro dedica quase 15 páginas ao XPath (esse deveria ser o título do livro).

Por fim, muito, mas muito, muito código, alguns com erros, mas num todo ou são muito óbvios, ou muito irrelevantes.

Não gostei do livro.

Em pouco mais de 100 páginas, não dá pra falar de Integração de sistemas.