O documento discute as diferenças entre trabalhar em uma software house ou dentro de uma empresa, e como as abordagens para desenvolvimento de sistemas diferem em cada caso. Também apresenta princípios de boas práticas de programação como Object Calisthenics.
2. Quem sou eu
Formado pelo Senac
em 2011
Palestrante da PHP
Conference Brasil
5 Anos de experiência
em PHP
Atualmente analista de
sistemas na Servicoop
12. Testes
• Testar entradas
– Seu usuário vai escrever errado
• Testar qual o comportamento
– Em diferentes situações
• Mensagens de erro
– Provoque todas as mensagens
• Elas são compreensíveis para a pessoa que
vai utilizar o software?
14. Resolução de Problemas
Cada tecnologia tem como objetivo
resolver um ou mais problemas.
Algumas resolvem muitos, outras são
extremamente específicas.
25. Júnior
• Protocolo HTTP
• GET, POST, UPDATE, DELETE, OPTION
• SQL Básico
• Configurações do PHP.INI
• Noções de como funciona o APACHE
• “plus” Conhecimento básico em
algum framework.
26. Pleno
• Domínio da Linguagem
• SQL Avançado
– triggers e functions
• Configurações de Performance
• Conhecimento médio de linux
• Saber identificar e aplicar padrões de projeto
– Factory, Adapter, Facede
• Segurança
• Conhecimentos sólidos em algum framework
MVC
• Conhecimento em noSQL
33. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
34. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
35.
36.
37. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
38. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
39. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
40. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
41. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
42. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters
43. Object Calisthenics
1. Um nível de indentação por método.
2. Não utilize else
3. Encapsule os tipos primitivos
4. Apenas um -> por linha
5. Não Abrevie
6. Mantenha suas classes pequenas
7. Limite o número de Atributos
8. Utilize Coleções
9. Use Getters e Setters