- Oracle Java SE Tutorial
- Java API
- Caelum:
- Java Programming 24-Hour Trainer
- Cheat Sheet
- Learning Java the Right Way
- Cuidados na programação OO
- Try-with-resources
- Generics
- Concurrency/Thread
- Java 8
- Produtividade e Hot Deploying
- Arduino e Java
- Unboxing/unwrapper dentro de loops.
- Preferir BigDecimal ao invés de double para valores mais precisos. (Ex: Moedas)
- East B - Testes Unitários
- SDKMAN - Software Development Kit
- Grandle - Gerênciador de Dependência
- Grails - Web Framework
- Hibernate ORM
- Pro Guard - Ofuscador de Código
- SCRUM
- Antes de começar a escrever um programa, deve-se criar um diagrama contendo todas as relações entre as classes e entidades do projeto.
- Antes de começar a desenhar as classes no diagrama, deve-se pensar voltado a interface de comunicação entre classe e não na implementação dessas.
- Antes de começar a escrever as primeiras linhas do programa, deve-se criar os respectivos testes. (TDD/BDD)
- Bom design facilita manutenção
- Encaspular e expor o minimo das classes
- Programar voltado a interface, não a implementação
- Composição > Herança (http://www.devmedia.com.br/heranca-versus-composicao-qual-utilizar/26145)
- É boa prática trabalhar com a interface ou classes mais genéricas em todos os lugares possíveis.