Lucas (Chapola)
Ex- guitarrista, ex-são paulino, ex-bauruense
Engenheiro de software na CI&T (Campinas)
Fan do Uncle Bob <3
Um dos autores do manifesto ágil
Desenvolvedor desde a década de 70
Identificou os princípios de OOP
Autor de diversos livros
Bjarne Stroustrup (criador do c++)
Elegante e eficiente: logica direta, dependencias minimas, tratamento de erro completo. "Que faça apenas umas coisa"
Ward Cunninghan (signatário do manifesto agil e mais um monte de coisa)
Cada rotina se mostra como se esperava. "Comportamento previsível"
Michael Feathers (solid e autor de "trabalho eficaz com código legado")
Foi escrito por alguém que se importa
int d;
int d; // tempo decorrido em dias
int tempoDecorridoEmDias;
int diasDesdeInicio;
int diasDesdeModificacao;
Evite notação húngara
Nomes pronunciáveis
Use nomes do domínio
Use nomes do contexto
Não faça piadinhas
// Verifica se o funcionário tem direito a todos os benefícios
if((empregado.flags && FLAG_HORAS) && empregado.idade > 65)){
...
}
if(empregado.ehElegivelTodosBeneficios){
...
}
SRP: responsabilidade única
OCP: aberto/fechado
LSP: substituição de Liskov
ISP: segregação de interfaces
DIP: inversão de dependência
public class Employee {
private final PersistenceSystem persistence;
public Employee(PersistenceSystem persistence){
this.persistence = persistence;
}
public int calculePay(){
// regras para calcular pagamento
}
public void store(){
// regras para persistencia
}
}