TDC 2019
Porto Alegre
O encontro de comunidades e empresas no Brasil

Trilha Design de Código Desenhando códigos para excelência, da escrita a produção

Design de Código é planejar seu código para maior facilidade de leitura, entendimento, eficiência e manutenção, como forma de agregar valor ao software.

O objetivo dessa trilha é oferecer ferramentas para que desenvolvedores e analistas ,melhorem sua capacidade de decisão de qual código é o melhor para cada tipo de situação.

Nesse ambiente de mudanças intensas em que vivemos há algo que tem se mantido intacto: não importa a linguagem, paradigma, ou o padrão a ser utilizado, na hora de escrever o código devemos escrevê-lo com qualidade. Fazemos isso não apenas porque achamos bonito (e, sim, achamos) ou porque somos apaixonados por isso (e, sim, somos), mas porque temos a convicção de que escrever código de qualidade é um diferencial estratégico para nossos projetos.

Saber pensar sobre o design do código faz a diferença entre ser restrito a uma linguagem ou framework e ser um desenvolvedor de software capaz de entregar valor em qualquer projeto ou empresa. Aprender uma sintaxe nova é fácil, o que tem valor mesmo para nossas carreiras é saber escolher o caminho certo para resolver cada tipo de problema.


Tópicos:

-Diferença entre paradigmas: Funcional, Orientação a Objetos, etc

-Domain Driven Design - DDD

-Test Driven Design - TDD

-Behavior Driven Develop - BDD

-Reactive Programming

-Linguagens estáticas ou dinâmicas

-Design patterns & Métricas de Qualidade de Código

-Técnicas de refactorings e redesigns


Pré-requisitos:

Entendimento ou Conhecimento de Linguagens de Programação, ou Paradigma de Programação é desejável.

Palestras

Importante: A grade de palestras está sujeita a alterações sem prévio aviso.
Conteúdo
08:00 às 09:00 Credenciamento e recepção dos participantes

Todas as pessoas inscritas, palestrantes, coordenadores e de imprensa, devem retirar seus crachás e kit do congressista nos balcões de credenciamento localizados na entrada do evento, para obterem acesso às salas e Auditório Principal.

09:00 às 10:00 Abertura do evento no Auditório Principal

Após o credenciamento, convidamos os participantes a comparecerem ao auditório para receberem as boas vindas por parte dos realizadores e patrocinadores.

Neste keynote de abertura, todos serão orientados sobre o funcionamento do evento, destaques e outras novidades.

10:10 às 11:00 Melhorando o design de código através de metáforas
Guilherme Lacerda / Alessandro Dias

A metáfora tem sido de grande ajuda para apoiar vários aspectos no desenvolvimento de software, principalmente na manutenção e evolução de software. Nesta palestra, vamos mostrar vários exemplos de metáforas, desde a conhecida dívida técnica (Cunningham), passando pela metáforas das Cidades e a evolução de software (Booch, Lanza e Wettel), Psicologia Forense e códigos suspeitos (Tornhill), 5S e heurísticas de limpeza de código (Lacerda) e, por último, Medicina aplicada ao código (Lacerda). Vamos apresentar também práticas e ferramentas associadas as metáforas e como elas têm sido de grande valia para entender certos fenômenos que acontecem no design de código e sua implicação na qualidade.

11:10 às 12:00 Functional Domain Driven Design
Guilherme Pohlmann Da Rosa

Um dos pensamentos que domina a mente de muitas pessoas quando se fala de programação funcional é acreditar que o paradigma é excludente às práticas de orientação à objetos que já conhecemos. Quando, na verdade, a união dos dois pode nos trazer ainda mais vantagens. Nessa apresentação queremos desmistificar esse pensamento e mostrar que sim, é possível utilizar as duas práticas em conjunto para construir aplicações de alta qualidade. Descubra como trouxemos para dentro do DDD, design conhecido por ser extremamente orientado à objetos, elementos funcionais como Monads, Imutabilidade e Higher Order Functions, construindo um domínio 100% puro.

12:10 às 13:00 Spec-Driven Development: Arquitetando sua API a partir da especificação
Daniel Zanzini

A especificação de uma API é o contrato que define as regras de comunicação entre sua aplicação e todos seus clientes. Respeitar essas regras é essencial para que essa comunicação funcione.

Uma das melhores maneiras de garantir que essas regras sejam respeitadas é guiar o desenvolvimento pelas necessidades registradas na especificação.

Durante o último ano, trabalhei em um projeto utilizando Spec-Driven Development e, nessa palestra, vou contar um pouco sobre a experiência que tive, mostrando como arquitetar uma aplicação a partir da especificação da API, as motivações de usar essa abordagem e os valores que ela agrega a sua aplicação.

Como você deveria praticar TDD ... realmente?
Priscilla Romagnoli / Diogo Cabral

TDD é muito mais do que uma palavra da moda, é uma técnica para construir código de forma a aumentar a confiança para realizar manutenções e escalar o software a qualquer momento. A prática de criar os testes antes do código existir pode parecer estranha a um primeiro momento, mas nós podemos garantir: pensar na qualidade antes da funcionalidade pode mudar o seu modo de ver a programação no seu dia a dia de trabalho. Nessa palestra vamos explorar o ciclo básico do Test Driven Development, com exemplos práticos, mostrando todo o valor que essa prática agrega na entrega de código para o mercado.

13:10 às 14:00 Intervalo para Almoço
Uma excelente oportunidade de todas as pessoas no evento interagirem e trocarem ideias, colaboradores, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.
14:10 às 15:00 Desafios na transformação de código legado em código sustentável
Gabriel Schmitt Kohlrausch

Uma das primeiras coisas que escutamos, quando iniciamos a migração do nosso código procedural legado, era que o novo código deveria ser orientado a objetos e deveria respeitar os princípios S.O.L.I.D e com isso teríamos baixo acoplamento e alta coesão no código! Nessa talk gostaria de mostrar um código legado e o processo que passamos para transformar este código em um design mais limpo, sustentável e que que o time finalmente compreende-se o significado e importância dos princípios S.O.L.I.D.

15:10 às 16:00 Clean Code
Paulo Henrique Santos

Na nossa busca continua por melhorar a qualidade dos nossos códigos muitos de nós ja ouvimos falar sobre Clean, e buscamos desde então escrever códigos limpos porém realmente entendemos a fundo o que é isso?

Irei trazer uma serie de técnicas e conceitos baseados na famosa bibliografia do Uncle Bob que nos ajudam a escrever um código com mais qualidade e que irá tornar a manutenção do nosso código muito mais fácil.

Future Proofing I.T.
Fabrício Castro Vizzotto / LUIZA HENRIQUES PINHEIRO

Aprendemos em metodologias ágeis que o futuro é caótico e pouco previsível. Nossas estimativas pouco precisas, nosso trabalho mutável. Uma palavra que assola qualquer desenvolvedor menos experiente é migração, entretanto, sem os cuidados necessários, ela não só é inevitável como, a melhor ação a ser tomada para continuar a agilidade do projeto. Muito ouvimos sobre separação de preocupação, manutenibilidade, legibilidade, cobertura de testes e embora estes pricipios sejam almejados, eles não podem ficar apenas no mundo das ideias. Ao invés de blindar o código contra o futuro, que tal usarmos práticas para torná-lo flexivel ?

16:00 às 16:30 Coffee-break e Networking

Durante o intervalo de coffee-break, serão entregues kits contendo suco e biscoitos. Um delicioso intervalo para relaxar, conhecer novas pessoas e estreitar contatos.

Neste tempo, também surge a oportunidade de todas as pessoas no evento interagirem entre sí, participantes das trilhas, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.

16:40 às 17:30 Code reviews: Porque eles são mais importantes do que você pensa
Vinicius Gubiani Ferreira

Sua empresa usa code review? Não?! Nesta palestra vou apresentar porque ela deveria começar a usar imediatamente, compartilhando muitos dos benefícios e situações que passamos, além das boas práticas que devem ser usadas para realizar code reviews efetivos, que agregam qualidade ao produto/serviço.

Como acabar com o Vírus do POI... Usando a potente vacina OO
Jorge Oleques / Akanbi Strossi de Jesus

Se pensarmos o nosso software como um organismo vivo que está em constante evolução, com certeza o POI ( Programação Orientada a Ifs ) seria um vírus tão danoso para a saúde dele quanto H1N1 é para o corpo humano. Sendo assim, só existe uma vacina para combater esse vírus, a Programação Orientada a Objetos. Usando técnicas como refatoração, clean code, SOLID e padrões de projetos, podemos aumentar a expectativa de vida do software de uma maneira muito mais saudável e sustentável.

17:40 às 18:30 Escrevendo código testável
Rodrigo Boniatti

Escrever código testável é um processo desafiador, não é apenas ter certeza que seu código está funcionando, mas também garantir sua escalabilidade e independência. Nessa palestra iremos identificar alguns smells, como utilizar design patterns para combatê-los e através dos testes garantir a funcionalidade e que as boas práticas foram aplicadas.

Legibilidade de código não é perfumaria
Ariane Izac

Pensar em legibilidade vai além de ter simplesmente um código "bonitinho", é otimizar uma análise e entendimento e principalmente a evolução dele.

Trabalhando em um piloto de automação de testes de software percebemos na pele a importância de seguir boas práticas de escrita de código e como construções ruins oneravam nosso entendimento na análise\refactoring desses testes.

A ideia é trazer dicas de boas práticas que deixarão seu código mais claro e efetivo, baseado no aprendizado que tivemos e ?dificultavam nossa vida?.

18:40 às 19:00 Encerramento e Sorteios

No horário de encerramento, todas as trilhas serão direcionadas de suas salas para o Auditório Principal, mesmo local da abertura.

Após a apresentação de resultados do dia, muitos sorteios fecharão o dia.

Data e Local

Sábado, 30 de Novembro de 2019

10 às 19 h

UniRitter

Rua Orfanotrófio, 555
Alto Teresópolis | Porto Alegre - RS

Informações sobre Data e Local


Público Alvo

Estudantes, Iniciantes, Analistas, Desenvolvedores, Plenos e Seniors


Investimento

presencial:R$ 290,00

Fazendo sua inscrição presencial, você terá acesso a esta trilha e no mesmo dia também:
TDC Expo: Venha conversar com pessoas e conhecer empresas incríveis.
Trilha Carreiras: Você poderá assistir às palestras da trilha Carreiras do mesmo dia.
Trilha Stadium: Você poderá assistir às palestras da trilha Stadium do mesmo dia.


Palestrantes da Trilha Design de Código

Alessandro Dias
Alessandro Dias
UniRitter, Resource IT
Ariane Izac
Ariane Izac
MATERA Systems
Daniel Zanzini
Daniel Zanzini
Guava Software
Diogo Cabral
Diogo Cabral
ThoughtWorks
Gabriel Schmitt Kohlrausch
Gabriel Schmitt Kohlrausch
STI Society Tecnologia da Informação
Guilherme Lacerda
Guilherme Lacerda
Wildtech/UniRitter
Paulo Henrique Santos
Paulo Henrique Santos
Meta (SAP External Partner)
Rodrigo Boniatti
Rodrigo Boniatti
Codeminer 42
Vinicius Gubiani Ferreira
Vinicius Gubiani Ferreira
Azion Technologies

Patrocinadores

Diamond





Patrocinios e Apoios Trilha e Workshop


Atendimento Corporativo


Realização

Instituição Parceira