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.