TDC 2019
Recife
O encontro de comunidades e empresas no Brasil

Trilha Design de Código Desenhando seu código para excelência, independente da linguagem!

Design de Código é planejar seu código para maior facilidade de leitura, entendimento e manutenção, como forma de entregar maior valor com software.

O objetivo dessa trilha é oferecer ferramentas para que desenvolvedores 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

-Test Driven Design

-Testes

-Reactive Programming

-Linguagens estáticas ou dinâmicas

-Design patterns

-Técnicas de refactorings e redesigns

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 SOLID numa abordagem real
Lucas Souto Maior
SOLID é um acrônimo para cinco princípios da orientação a objetos e design de código bastante comentados recentemente, cuja aplicação e desafios em ambiente cotidiano do desenvolvimento de sistemas é pouco abordada, incluindo sua flexibilidade em adaptação para a realidade de cada projeto onde o conceito é usado. Nessa palestra, vamos passar por cenários e adversidades complexas do uso de SOLID empregados no dia a dia e a versatilidade requisitada por projetos específicos, para evitar travamentos da construção através de um planejamento adequado e exemplos de bons resultados oferecidos por suas práticas.
Clean code 101: do caos ao nirvana em poucos passos
Gabrielly Gomes / Diogo Cabral

Prazos, entregas, carga de trabalho, demandas bomba surgindo a todo momento. Esse é o tipo de combinação perfeita para escritas rápidas (e as vezes desatentas) de código, que as vezes não saem com toda a qualidade que deveria haver nele. Os chamados code smells, que são pequenos problemas que podemos identificar em um código, estão aí nos desafiando dia a dia. A boa noticia é que existem práticas e guidelines que podem nos ajudar a sanar esses geradores de caos em nossos projetos, e é isso que abordaremos nessa talk: como dicas simples, fáceis de lembrar e de aplicar a cada linha de código podem deixar um código no estado da arte, sem gerar dívidas técnicas de melhorias para o futuro.

11:10 às 12:00 Clean Code: Escrevendo Funções Que Falam Por Si Só
Rita Lino

Lidar com funções faz parte do dia a dia de toda pessoa desenvolvedora. Escrever código funcional pode ser um trabalho árduo, mas escrever código bom e legível requer cuidados especiais e boas práticas essenciais. Vamos abordar dicas para criar funções descritivas e concisas, tornando a leitura do código mais fácil e evitando que seu code review desperte reações confusas.

Pense 4 vezes antes de fazer herança
Leonardo Tegon
Herança é uma maneira de especializar um comportamento presente em nossas aplicações. Parece uma ideia muito boa, então porque será que existem tantos artigos dizendo que "herança é ruim" ou "composição é melhor que herança"? Herança é um conceito muito poderoso e útil, que pode nos ajudar de muitas maneiras. Porém, nem sempre é a ferramenta certa para resolver o problema.
Domando a Irreversibilidade com Feature Flags
Hugo Bessa
Softwares quebram - mesmo funcionalidades pequenas podem derrubar grandes elefantes. A possibilidade de, rapidamente, desabilitar funcionalidades pode dar ao seu time responsividade, confiança nas suas entregas e velocidade para lidar com falhar inevitáveis. Essa talk tem a intenção de iluminar o bom e o mau quando se trata de feature flags para que a sua situação não fique feia.
12:10 às 13:00 Clean Architecture na Prática
João Neto / Ramon Ribeiro

As aplicações modernas exigem cada vez mais uma arquitetura testável, desacoplada e com camadas bem definidas. Para atender a esses requisitos, a Clean Architecture foi apresentada como um conjunto de princípios arquiteturais que têm base na separação de responsabilidades entre os diversos componentes do sistema. Seu objetivo principal é tornar as regras de negócios independentes de framework, banco de dados, interfaces e bibliotecas.

Esta palestra visa apresentar os princípios por trás da Clean Architecture e demonstrar como eles podem ser aplicados para entregar um código mais limpo, reusável, testável e apto para adição rápida de novas features.

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 Refactoring e Redesign: Quando e como reescrever código?
Milena Mayumi Costa
Você já teve que reescrever código, seja por débito técnico, performance ou crescimento do produto? Independente da linguagem, padrão ou paradigma, todo código está sujeito à necessidade de refactoring e redesign. Nessa talk, vamos diferenciar esses conceitos, discutir técnicas para reescrever código e analisar na prática o antes e depois da implementação de uma state machine.
Garantindo refatoração segura com TDD
Gabriela Mattos / Emanuelle Schiavon

Dificilmente no dia-a-dia da pessoa desenvolvedora, ela conseguirá chegar ao melhor código no primeiro momento. O "estado da arte" do código só é alcançado após várias interações, é importante parar e refletir o melhor momento para refatorar sem impactar a entrega. Nessa palestra vamos trazer algumas técnicas de refatoração em código legado guiadas nos pilares do Paradigma Orientado a Objetos e SOLID, usando TDD para garantir a integridade da funcionalidade.

15:10 às 16:00 Domain-Driven Design applied on a Golang Microservice
Vinícius Garcia / Fabio Rodrigues e Souza

Building a good architecture is always a hard task, especially when deciding where you should draw the boundaries between the pieces of your code.

Recently we faced a challenge at Dito where we needed to create an architecture for a microservice with a non-trivial load of business-logic and with the requirement of being simple and really easy to maintain and update.

We accomplished all this using some key aspects of DDD together with idiomatic Go principles and ideas.

In this talk, we explain our design decisions exemplifying them with samples of code and discussing the advantages we found when we needed to add new features and functionalities.

Métricas para Qualidade de Código e Code Smell
Alessandra Monteiro Martins
Design, Boas Praticas, Patterns de Desenvolvimento, XP, são tantas siglas, buzzy word, mas como de fato manter um bom código? O que de fato importa na hora de avaliar a qualidade de um código? Que métricas? Como métricas podem ajudar a melhorar não apenas a qualidade, mas os padrões de escrita, promovendo assim aplicações mais bem desenvolvidas, estruturadas e de fácil manutenção.
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 Functional Domain Driven Design
Guilherme Pohlmann Da Rosa / Fabrício Rissetto

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.

17:40 às 18:30 Usando teoria dos grafos para aumentar a performance de um back-end em 300%
Leonardo Brito
Suponha que você tem um componente crítico de seu sistema. Ele é um servidor Ruby que recebe 350 mil requisições por dia -- não é um número tão grande, mas as requisições são pesadas computacionalmente. Será que a teoria que aprendemos em ciência da computação pode ajudar a melhorar o desempenho desse sistema? A resposta é: sim! Não é todo dia que conseguimos usar algo que aprendemos nas aulas teóricas de computação para resolver um problema real do trabalho, mas quando algo assim é alcançado, vale uma palestra.
Boas Práticas para Revisão de Código
Filipe Wanderley Lima

A revisão de código é uma prática muito conhecida para melhorar a qualidade do software. Encontrar e corrigir bugs durante revisões de código, antes que eles vão parar no ambiente de produção, pode salvar tempo e dinheiro. Todavia, encontrar defeitos não é o único benefício dela, a transferência de conhecimento e a conscientização da equipe são também outras vantagens.

Nesta apresentação, quero compartilhar um pouco da minha experiência em como escrever Pull/Merge Requests (PRs) de maneira que ajude a quem irá revisar, bem como se portar quando estiver no papel de revisor. Cuidados como escrever uma boa descrição, mensagens de commit e dar exemplos visuais serão algumas das dicas abordadas.

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

Sexta-feira, 11 de Outubro de 2019

10 às 19 h

Universidade Católica De Pernambuco - UNICAP

Rua Almeida Cunha (estacionamento dos alunos)
Boa Vista, Recife - PE

Informações sobre Data e Local


Público Alvo

Pessoas apaixonadas por código <3


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

Diogo Cabral
Diogo Cabral
ThoughtWorks
Gabriela Mattos
Gabriela Mattos
ThoughtWorks
Gabrielly Gomes
Gabrielly Gomes
Thoughtworks
Hugo Bessa
Hugo Bessa
Vinta Software
Leonardo Brito
Leonardo Brito
SensorTower
Leonardo Tegon
Leonardo Tegon
Plataformatec
Lucas Souto Maior
Lucas Souto Maior
CIn-UFPE/Projeto Samsung
Rita Lino
Rita Lino
Creditas
Vinícius Garcia
Vinícius Garcia
Dito Internet

Patrocinadores

Diamond



Silver



Patrocinios e Apoios Trilha e Workshop


Programa +Diversidade


Atendimento Corporativo


Realização

Instituição Parceira

TDC Online