Coding Dojo
Unreal Engine
Semana Technológica 2017
Paulo Cezar de Oliveira
2 / 10
Envolvidos no Dojo
● Adolfo Gustavo Serra Seca Neto - Coordenador
– Professor Doutor, DAINF/PPGCA.
– Atuação: desenvolvimento ágil de software, lógica para computação.
– adolfo@utfpr.edu.br
● Paulo Cezar de Oliveira - Moderador
– Aluno do programa de mestrado do PPGCA.
– Pesquisa: Coding Dojo no aprendizado de programação de software.
– paulooliveira@alunos.utfpr.edu.br
● Jean Avila Rangel - Sensei
– Aluno do programa de mestrado do PPGCA.
– Pesquisa: Desenvolvimento de jogos para detecção de fraudes
– jean_rangel94@hotmail.com
3 / 10
Coding Dojo, o que é?
● Programadores e interessados em aprender se reúnem
com o objetivo de trocar experiência.
● Diversão e discussão de temas como design, testes,
refatoração, escolha do editor de código e ferramentas.
● Uso de Práticas Ágeis para o desenvolvimento.
● Buscam
– Encontrar soluções simplificadas para problemas simples.
– Permitir que o público acompanhe a linha de raciocínio dos
desenvolvedores.
4 / 10
Coding Dojo, o que não é?
● Não é uma competição.
● Os problemas não devem ser complexos.
● Não há a necessidade achar uma solução para o
problema proposto.
● O problema não precisa ser resolvido.
– Porém, durante o Dojo, busca-se solucionar o problema.
5 / 10
Coding Dojo, como funciona?
● Todos da plateia podem participar como piloto e
copiloto.
● Estabelece um tempo de permanência no teclado entre
3 a 10 minutos para o piloto.
● Vencido o prazo o copiloto assume o teclado e mouse e
outro da plateia assume o papel de copiloto.
● Todos trabalham no mesmo projeto.
● Pode fazer mudanças no que estava sendo feito pelo
piloto.
6 / 10
Programação em Pares
● É uma das principais práticas ágeis.
● Prática colaborativa de desenvolvimento de software.
● Duas funções no mesmo teclado e mouse:
– Piloto – Assume o teclado e mouse e coloca em prática as
ideias.
– Copiloto – acompanha todo o processo de desenvolvimento
orientando e dando sugestões sobre como melhorar o
código.
– Cada um permanece um tempo predefinido em cada função.
7 / 10
Passos de Bebê
● Passo a passo.
● Objetivo
– Fazer mudanças sutis no desenvolvimento do código.
● Pode se obter uma melhor solução.
– É possível que outros compreendam todo o processo de
desenvolvimento, sendo inclusive, possível sua
replicação.
– No Coding Dojo, os desenvolvedores falam em bom som
o que estão fazendo e o que querem fazer.
8 / 10
Desenvolvimento Orientado a
Testes - TDD
● Desenvolver testes de unidade automatizados em
códigos de programas.
● Construído e aplicado antes de ser implantado no
código original.
● Permite saber se tal funcionalidade é viável.
● Caso algum teste falhe, o código é corrigido antes de
dar continuidade no desenvolvimento.
● É possível identificar falhas antes da implementação
efetiva.
9 / 10
Refatoração
● Objetivo:
– Melhorar a estrutura e qualidade do código.
– Remoção de partes duplicadas e/ou desnecessárias
do código.
– Reestruturar o processo de mudança do código.
– Não pode alterar o comportamento externo do
programa computacional.
10 / 10
Obrigado!
Dúvidas?
Contato:
paulooliveira@alunos.utfpr.edu.br

Coding Dojo - Unreal Engine

  • 1.
    Coding Dojo Unreal Engine SemanaTechnológica 2017 Paulo Cezar de Oliveira
  • 2.
    2 / 10 Envolvidosno Dojo ● Adolfo Gustavo Serra Seca Neto - Coordenador – Professor Doutor, DAINF/PPGCA. – Atuação: desenvolvimento ágil de software, lógica para computação. – adolfo@utfpr.edu.br ● Paulo Cezar de Oliveira - Moderador – Aluno do programa de mestrado do PPGCA. – Pesquisa: Coding Dojo no aprendizado de programação de software. – paulooliveira@alunos.utfpr.edu.br ● Jean Avila Rangel - Sensei – Aluno do programa de mestrado do PPGCA. – Pesquisa: Desenvolvimento de jogos para detecção de fraudes – jean_rangel94@hotmail.com
  • 3.
    3 / 10 CodingDojo, o que é? ● Programadores e interessados em aprender se reúnem com o objetivo de trocar experiência. ● Diversão e discussão de temas como design, testes, refatoração, escolha do editor de código e ferramentas. ● Uso de Práticas Ágeis para o desenvolvimento. ● Buscam – Encontrar soluções simplificadas para problemas simples. – Permitir que o público acompanhe a linha de raciocínio dos desenvolvedores.
  • 4.
    4 / 10 CodingDojo, o que não é? ● Não é uma competição. ● Os problemas não devem ser complexos. ● Não há a necessidade achar uma solução para o problema proposto. ● O problema não precisa ser resolvido. – Porém, durante o Dojo, busca-se solucionar o problema.
  • 5.
    5 / 10 CodingDojo, como funciona? ● Todos da plateia podem participar como piloto e copiloto. ● Estabelece um tempo de permanência no teclado entre 3 a 10 minutos para o piloto. ● Vencido o prazo o copiloto assume o teclado e mouse e outro da plateia assume o papel de copiloto. ● Todos trabalham no mesmo projeto. ● Pode fazer mudanças no que estava sendo feito pelo piloto.
  • 6.
    6 / 10 Programaçãoem Pares ● É uma das principais práticas ágeis. ● Prática colaborativa de desenvolvimento de software. ● Duas funções no mesmo teclado e mouse: – Piloto – Assume o teclado e mouse e coloca em prática as ideias. – Copiloto – acompanha todo o processo de desenvolvimento orientando e dando sugestões sobre como melhorar o código. – Cada um permanece um tempo predefinido em cada função.
  • 7.
    7 / 10 Passosde Bebê ● Passo a passo. ● Objetivo – Fazer mudanças sutis no desenvolvimento do código. ● Pode se obter uma melhor solução. – É possível que outros compreendam todo o processo de desenvolvimento, sendo inclusive, possível sua replicação. – No Coding Dojo, os desenvolvedores falam em bom som o que estão fazendo e o que querem fazer.
  • 8.
    8 / 10 DesenvolvimentoOrientado a Testes - TDD ● Desenvolver testes de unidade automatizados em códigos de programas. ● Construído e aplicado antes de ser implantado no código original. ● Permite saber se tal funcionalidade é viável. ● Caso algum teste falhe, o código é corrigido antes de dar continuidade no desenvolvimento. ● É possível identificar falhas antes da implementação efetiva.
  • 9.
    9 / 10 Refatoração ●Objetivo: – Melhorar a estrutura e qualidade do código. – Remoção de partes duplicadas e/ou desnecessárias do código. – Reestruturar o processo de mudança do código. – Não pode alterar o comportamento externo do programa computacional.
  • 10.