Engenharia de Software - Refatoração de software (LIBRAS)

00:18:35
https://www.youtube.com/watch?v=uegrb5pesFk

Resumen

TLDRNa aula de Engenharia de Software com o professor Marcelo Fantinato, o foco é na refatoração, uma prática essencial para melhorar o código. Refatorar significa alterar a estrutura interna do software sem impactar seu funcionamento para os usuários, visando facilitar a compreensão e manutenção futura. O professor destaca que a refatoração não se limita à correção de erros, mas é um processo contínuo de melhoria. Ele enfatiza a importância de revisar o código em múltiplas ocasiões antes de decidir por uma refatoração, e apresenta um catálogo com recomendações sobre como implementar refatorações. Ferramentas e boas práticas são discutidas como caminhos para se tornar um desenvolvedor mais eficiente e produtivo.

Para llevar

  • 🔄 Refatoração significa refazer a estrutura interna do software.
  • 🛠️ Melhoria do código torna a manutenção mais fácil e menos custosa.
  • 📚 A refatoração é uma prática contínua durante o desenvolvimento.
  • 💻 Deve ser feita sempre que o código é revisado, especialmente após três revisões.
  • 📖 Existem catálogos com sugestões de refatoração que ajudam na melhoria do código.
  • 🚀 Refatoração contribui para a eficiência do time de desenvolvimento.
  • ⚠️ Refatorar pode ser desafiador, especialmente em bancos de dados.
  • 🏗️ As boas práticas arquiteturais facilitam o processo de refatoração.
  • 🔍 A refatoração pode ajudar a identificar e corrigir falhas no software.
  • 🔥 O debate sobre desempenho deve ser considerado ao refatorar.

Cronología

  • 00:00:00 - 00:05:00

    O professor Marcelo Fantinato introduz a refatoração de software, explicando que o termo refere-se a refazer a estrutura interna do código para torná-lo mais fácil de entender e modificar, sem alterar seu comportamento observável. A refatoração visa melhorar a manutenção futura do software, eliminando variáveis e comentários desnecessários e organizando melhor o código.

  • 00:05:00 - 00:10:00

    A refatoração deve ser uma atividade contínua e realizada em pequenas quantidades, como uma prática recomendada ao revisitar o código pela terceira vez. Essa prática permite que desenvolvedores aperfeiçoem o código à medida que novas funções são adicionadas ou defeitos corrigidos, tornando o software mais acessível e eficiente para manutenções futuras.

  • 00:10:00 - 00:18:35

    A aula conclui apresentando um catálogo de refatoração com diferentes técnicas e sugestões, como organização de dados e simplificação de expressões condicionais. O objetivo é fornecer aos alunos ferramentas para melhorar a qualidade do código e fomentar habilidades em engenharia de software, encorajando-os a tornar a refatoração uma parte integrante de seu processo de desenvolvimento.

Mapa mental

Vídeo de preguntas y respuestas

  • O que é refatoração de software?

    Refatoração é a alteração na estrutura interna do software para torná-lo mais compreensível e mais barato de modificar, sem alterar seu comportamento observável.

  • Por que é importante refatorar?

    Refatorar facilita a manutenção futura do software, melhora o projeto e a arquitetura do código, e ajuda a identificar e corrigir defeitos.

  • Quando devo refatorar meu código?

    É aconselhável refatorar sempre que revisar o código, especialmente na terceira vez que você o vê, ou ao adicionar funções ou corrigir defeitos.

  • O que é um catálogo de refatoração?

    É uma coleção de sugestões e ideias para melhorar o código, oferecendo técnicas de refatoração que podem ser aplicadas em diferentes situações.

  • Existem limitações na refatoração?

    Sim, refatorar pode ser desafiador em casos como bancos de dados ou interfaces entre objetos, e pode afetar o desempenho do software.

  • Qual o impacto da refatoração na equipe de desenvolvimento?

    A refatoração ajuda os desenvolvedores a melhorarem suas habilidades, permite um trabalho mais ágil e uma colaboração mais eficiente.

  • Qual é o papel das boas práticas na refatoração?

    Seguir boas práticas e estilos arquiteturais facilita a refatoração e melhora a qualidade do código ao longo do tempo.

  • Quando um programador deve considerar refatorar um método?

    Um programador deve considerar refatorar quando identificar que um método pode ser simplificado ou melhor organizado.

  • Quais tipos de refatoração existem?

    Existem várias, incluindo composição de métodos, organização de dados, simplificação de expressões condicionais, entre outros.

  • Como refatorar impacta a manutenção do software?

    Refatorar torna o software mais fácil de entender e modificar, o que facilita a manutenção e a resolução de problemas futuros.

Ver más resúmenes de vídeos

Obtén acceso instantáneo a resúmenes gratuitos de vídeos de YouTube gracias a la IA.
Subtítulos
pt
Desplazamiento automático:
  • 00:00:00
    [Música]
  • 00:00:08
    Olá eu sou o professor Marcelo Fantinato
  • 00:00:10
    Esta é a disciplina de engenharia de
  • 00:00:12
    software e agora nós vamos com a aula
  • 00:00:15
    sobre
  • 00:00:17
    refaturar bom nós
  • 00:00:20
    eh temos vindo falando sobre as etapas
  • 00:00:25
    do ciclo do processo de desenvolvimento
  • 00:00:28
    de software né Sempre pensando em pega
  • 00:00:31
    um artefato melhora passa pro próximo
  • 00:00:33
    faz alguma coisa nova vai passando vai
  • 00:00:36
    passando para poder chegar lá na
  • 00:00:39
    programação propriamente dita no
  • 00:00:41
    desenvolvimento propriamente dito para
  • 00:00:44
    lá na frente entregar o software pronto
  • 00:00:46
    então cada etapa que a gente passa a
  • 00:00:48
    gente tá evoluindo né Trabalhando um um
  • 00:00:52
    passo a mais mas agora nessa aula a
  • 00:00:55
    gente vai falar de refatoração de
  • 00:00:56
    software Isso significa que a gente vai
  • 00:01:00
    um pouco para refazer algo né o termo
  • 00:01:03
    refatoração de software essa palavrinha
  • 00:01:06
    re esse prefixo re ele significa re de
  • 00:01:10
    refazer né e eh o re significa o prefixo
  • 00:01:15
    re quando aparece em algum lugar ele
  • 00:01:18
    significa fazer duas vezes então
  • 00:01:21
    refaturar faturar significa fabricar e o
  • 00:01:24
    refaturar é refabricar então é você
  • 00:01:26
    refazer Mas por que nós queremos refazer
  • 00:01:30
    algo porque obviamente eh pode ser
  • 00:01:33
    melhorado então a ideia de refaturar
  • 00:01:36
    refabricar refazer o software é porque
  • 00:01:39
    nós temos condições nós entendemos que
  • 00:01:42
    existe condição eh de melhorar então a
  • 00:01:45
    ideia mas esse melhorar não significa
  • 00:01:48
    melhorar o o a funcionalidade em si tá a
  • 00:01:52
    gente não entende que está errado em
  • 00:01:54
    termos de resultado E nós queremos
  • 00:01:57
    corrigir porque isso aí é o papel do
  • 00:01:59
    teste de software testo identifico um
  • 00:02:03
    defeito e vou corrigir tá ou refaturar
  • 00:02:06
    não veja só a definição de refaturar uma
  • 00:02:09
    alteração feita na estrutura interna do
  • 00:02:12
    software para torná-lo mais fácil de ser
  • 00:02:16
    entendido e menos Custoso de ser
  • 00:02:18
    modificado sem alterar seu comportamento
  • 00:02:21
    observável então a ideia de refaturar o
  • 00:02:24
    software é alterar a estrutura interna
  • 00:02:27
    mas não mudar nada na capa dele então
  • 00:02:30
    pro usuário final quem tá ali usando o
  • 00:02:34
    software usando uma funcionalidade
  • 00:02:37
    usando a interface o resultado de uma
  • 00:02:39
    faturação é nada ele não vê uma
  • 00:02:42
    diferença não entrou um botão novo não
  • 00:02:44
    mudou uma cor não alterou nada certo
  • 00:02:48
    então refaturar é alterar a estrutura
  • 00:02:50
    interna Mas para que eu vou querer fazer
  • 00:02:52
    isso para que eu vou querer alterar a
  • 00:02:54
    estrutura interna de um software se pro
  • 00:02:56
    usuário não vai mudar nada como já tá
  • 00:02:59
    escrito aí né para deixar ele mais fácil
  • 00:03:02
    de ser
  • 00:03:03
    entendido para quem pro próprio
  • 00:03:05
    desenvolvedor né não é em termos de
  • 00:03:08
    usabilidade do do pro pro usuário não é
  • 00:03:11
    deixar ele mais fácil de ser entendido
  • 00:03:13
    para quem vai usá-lo mas deixar mais
  • 00:03:16
    fácil el de ser entendido pro próprio
  • 00:03:19
    desenvolvedor e menos Custoso de ser e
  • 00:03:22
    consequentemente menos Custoso de ser
  • 00:03:23
    modificado então a gente assume que
  • 00:03:26
    alguém um dia vai ter que dar manutenção
  • 00:03:27
    nesse software seja para corrigir um
  • 00:03:29
    defeito que foi pego eh ou
  • 00:03:33
    para adicionar uma nova função bom E daí
  • 00:03:37
    eh esse software tá fácil de ser
  • 00:03:39
    entendido o código
  • 00:03:41
    Ah talvez não então A ideia é vamos
  • 00:03:45
    melhorando o software eh fazendo
  • 00:03:48
    refaturar
  • 00:03:59
    tirar comentários que não servem para
  • 00:04:02
    nada ou que estão errados por exemplo eh
  • 00:04:04
    tirar eh variáveis que não estão sendo
  • 00:04:07
    usadas é mais do que isso certo é uma
  • 00:04:10
    técnica para limpar sim o código mas de
  • 00:04:13
    forma eficiente e controlada então é
  • 00:04:16
    você na engenharia de software a gente
  • 00:04:18
    pensa em fazer tudo de forma sistemática
  • 00:04:20
    aqui é fazer uma limpeza de forma
  • 00:04:22
    sistemática certo então
  • 00:04:26
    ã Por que por mas por que nós queremos
  • 00:04:29
    fazer isso eu já comentei um pouco né
  • 00:04:31
    para poder deixar o software mais fácil
  • 00:04:33
    de entender pensando na manutenção
  • 00:04:35
    futura Mas por que isso acontece porque
  • 00:04:38
    eu vou melhorar o próprio projeto do
  • 00:04:40
    software lembra daquele projeto que a
  • 00:04:42
    gente falou em aulas anteriores
  • 00:04:43
    inclusive que a gente pode seguir alguns
  • 00:04:46
    estilos arquiteturais algumas boas
  • 00:04:48
    práticas então se eu tiver refatorando
  • 00:04:50
    eu vou poder organizar o o software de
  • 00:04:53
    uma forma melhor numa arquitetura melhor
  • 00:04:55
    eu posso pegar um componente quebrar em
  • 00:04:57
    dois eu posso quebrar uma classe em duas
  • 00:04:59
    posso juntar duas classes em uma à
  • 00:05:01
    medida que eu vou percebendo que as
  • 00:05:03
    coisas poderiam ser melhor não é porque
  • 00:05:05
    do não foi feito da melhor forma eh na
  • 00:05:07
    primeira vez que eu não posso resolver
  • 00:05:09
    isso depois certo
  • 00:05:11
    Ã Não é por e aqui a gente não vai usar
  • 00:05:14
    aquela ideia do eh in time que tá
  • 00:05:17
    ganhando não se mexe né o software pode
  • 00:05:19
    estar funcionando bem do ponto de vista
  • 00:05:21
    pro usuário mas ainda assim eu posso
  • 00:05:23
    querer mexer nele sim
  • 00:05:25
    eh assumindo que ele vai continuar
  • 00:05:28
    funcionando da mesma forma pro Us clo
  • 00:05:30
    Mas vou deixar ele com uma estrutura
  • 00:05:31
    interna melhor ainda pra hora que for
  • 00:05:34
    precisar de fazer uma manutenção nele
  • 00:05:36
    certo então eu vou tornar o o software
  • 00:05:39
    mais fácil de
  • 00:05:40
    entender e consequentemente ajudar a
  • 00:05:43
    encontrar defeitos e falhas na verdade
  • 00:05:46
    além de eu pensar no futuro enquanto eu
  • 00:05:48
    estou refatorando eu posso acabar
  • 00:05:50
    encontrando defeitos e falhas eh como e
  • 00:05:53
    por tabela né como um efeito colateral
  • 00:05:55
    eu estou mexendo só pensando em
  • 00:05:58
    reestruturar e eu começo a olhar uma
  • 00:06:01
    coisa e falo Nossa mas isso aqui tá com
  • 00:06:03
    uma cara estranha e como é que Ninguém
  • 00:06:05
    percebeu usando o software que acontece
  • 00:06:07
    dessa forma e aí eu acabo percebendo e
  • 00:06:09
    obviamente eu corrijo não é o objetivo
  • 00:06:12
    principal mas acaba sendo eh um um
  • 00:06:16
    efeito colateral bom certo e ajuda a
  • 00:06:19
    programar mais rapidamente porque o o
  • 00:06:21
    programador que adota a técnica de
  • 00:06:24
    refatoração ele acaba desenvolvendo
  • 00:06:26
    ainda mais as suas habilidades e
  • 00:06:28
    técnicas de programa
  • 00:06:30
    bom então Eh com a refat ela permite
  • 00:06:35
    pensar em um Ah sim então ela permite
  • 00:06:37
    pensar em um projeto e eh se você assume
  • 00:06:40
    que você vai fazer refatoração com o
  • 00:06:42
    passar do tempo você não precisa ser tão
  • 00:06:45
    perfeccionista na primeira vez você não
  • 00:06:47
    precisa pensar eu tenho que ter a melhor
  • 00:06:49
    arquitetura possível eu tenho que ter A
  • 00:06:51
    melhor solução possível porque eu tenho
  • 00:06:53
    que acertar de primeira não você se
  • 00:06:56
    permite a ter uma solução razo
  • 00:07:00
    na primeira vez sabendo que com o passar
  • 00:07:03
    do tempo você vai melhorá-la certo isso
  • 00:07:06
    é é bem alinhado inclusive com a a as
  • 00:07:09
    ideias dos métodos ágeis né que você vai
  • 00:07:12
    incrementando melhorando eh por meio de
  • 00:07:15
    diferentes iterações
  • 00:07:17
    bom então ah é justamente o que eu
  • 00:07:21
    acabei de falar e tava a informação
  • 00:07:22
    também um pouco aqui embaixo né A medida
  • 00:07:24
    que a solução é construída o problema é
  • 00:07:26
    melhor compreendido uma solução melhor
  • 00:07:28
    diferente da original pode ser percebida
  • 00:07:31
    lembrando uma solução de código uma
  • 00:07:34
    solução de estrutura interna cujo
  • 00:07:37
    resultado pro usuário é o mesmo então
  • 00:07:40
    você pode ter um algoritmo de ordenação
  • 00:07:43
    diferente mas o resultado é a ordenação
  • 00:07:46
    certo então não é que você a ideia aqui
  • 00:07:49
    da refatoração não é ter um um uma
  • 00:07:52
    funcionalidade diferente é diferentes
  • 00:07:54
    formas de implementar a melhor a mesma
  • 00:07:57
    funcionalidade mas daí quando você vai
  • 00:08:00
    refaturar então eu fiz a primeira
  • 00:08:03
    solução sabendo que ela não é a perfeita
  • 00:08:05
    não é a melhor possível Quando é que eu
  • 00:08:07
    vou pensar em refaturar Bom na verdade é
  • 00:08:10
    uma coisa que a gente deveria fazer o
  • 00:08:11
    tempo todo em pequenas quantidades
  • 00:08:14
    sempre que possível vai lá e
  • 00:08:17
    refatorar um tempinho refatorações
  • 00:08:30
    vez tá não ficou tão contente voltou do
  • 00:08:33
    código para fazer uma consulta olhou e
  • 00:08:37
    falou assim nossa isso aqui não ficou
  • 00:08:39
    legal né bom paciência voltou nele de
  • 00:08:43
    novo para fazer uma outra consulta ou
  • 00:08:45
    até para corrigir um defeito que alguém
  • 00:08:46
    pegou ah não terceira vez que eu tô
  • 00:08:49
    vendo esse código não tô contente com
  • 00:08:51
    ele vou refaturar isso é a lei das três
  • 00:08:55
    vezes e você refat a terceira vez que
  • 00:08:57
    você olhou pro código e sabe que ele não
  • 00:09:00
    é a melhor solução possível e que tem
  • 00:09:02
    uma solução melhor você refat então é
  • 00:09:05
    uma dica uma boa prática refatorar na
  • 00:09:07
    terceira vez que você revisita na
  • 00:09:10
    verdade eh na terceira vez que você tem
  • 00:09:12
    contato com o código considerando que a
  • 00:09:14
    primeira vez é quando você fez ele ou
  • 00:09:16
    que alguém fez né porque você não é o
  • 00:09:18
    dono do código você pode
  • 00:09:20
    eh refaturar o código que uma outra
  • 00:09:23
    pessoa fez obviamente aliás Esse é um
  • 00:09:25
    dos princípios dos métodos ágeis a
  • 00:09:29
    se você tiver acrescentando uma função
  • 00:09:32
    você pode aproveitar para refaturar
  • 00:09:34
    aquela parte do código aquele componente
  • 00:09:37
    eh quando você tiver consertando um
  • 00:09:39
    defeito na verdade foram os dois
  • 00:09:41
    exemplos de quando do três vezes e você
  • 00:09:43
    refat né porque você estaria trabalhando
  • 00:09:46
    naquela parte do código novamente porque
  • 00:09:48
    você tá acrescentando uma função porque
  • 00:09:49
    você tá precisando consertar um defeito
  • 00:09:51
    Eh Ou quando você tiver trabalhando com
  • 00:09:54
    revisão de código
  • 00:09:55
    ah alguém eh fez um código e um outro
  • 00:09:59
    alguém vai lá revisar aquele código E aí
  • 00:10:03
    essa pessoa já tá revisando Por que não
  • 00:10:05
    refaturar se ela perceber possibilidade
  • 00:10:08
    de
  • 00:10:10
    refaturar tem limitações por exemplo eh
  • 00:10:13
    é difícil refaturar o banco de dados tá
  • 00:10:15
    porque quando eu falo aqui em
  • 00:10:18
    refaturar do software Lembra daquela
  • 00:10:20
    definição que software é tudo software
  • 00:10:23
    não é apenas o código programado na
  • 00:10:26
    linguagem Java por exemplo software é
  • 00:10:28
    tudo inclus inclusive requisitos o
  • 00:10:30
    projeto da arquitetura então você pode
  • 00:10:32
    refaturar até o a especificação de
  • 00:10:34
    requisitos melhorar até a especificação
  • 00:10:36
    de requisitos se você achar apropriado
  • 00:10:38
    você poderia refaturar o banco de dados
  • 00:10:41
    mas é bem difícil refaturar o banco de
  • 00:10:44
    dados eh difícil refaturar a interface
  • 00:10:47
    entre objetos Então aquela interface lá
  • 00:10:50
    da classe que para ser invocado tem que
  • 00:10:53
    passar Tais parâmetros e retorna Tais
  • 00:10:55
    parâmetros isso aí é difícil porque
  • 00:10:57
    normalmente ao refatorar você acaba
  • 00:10:59
    criando problemas de interface de
  • 00:11:02
    comunicação com outros objetos outros
  • 00:11:04
    componentes pode diminuir o desempenho
  • 00:11:06
    do software Às vezes você opta por
  • 00:11:10
    deixar o software mais fácil de entender
  • 00:11:13
    mas para isso você acaba tendo que optar
  • 00:11:15
    por uma por uma uma sequência de de
  • 00:11:18
    comandos por exemplo que é mais lento
  • 00:11:21
    então às vezes isso acontece você se se
  • 00:11:24
    depara com e agora eu vou trocar esse
  • 00:11:27
    conjunto de comandos que essa sequência
  • 00:11:30
    que ninguém entende a hora que tiver que
  • 00:11:31
    dar manutenção por essa que é bem mais
  • 00:11:34
    fácil de entender mas que deixa o
  • 00:11:36
    software mais lento sim ou não
  • 00:11:39
    eh bom eh o livro que eu vou eh mostrar
  • 00:11:44
    aqui para vocês no final como referência
  • 00:11:46
    dessa vez não é o livro que eu tenho
  • 00:11:48
    usado nas aulas anteriores e ele mostra
  • 00:11:51
    um catálogo de refatoração o que
  • 00:11:54
    significa isso ideias sugestões isso que
  • 00:11:58
    é o legal esse que é o interessante né
  • 00:12:00
    naquela ideia de padrões de de boas
  • 00:12:03
    práticas existe um catálogo de
  • 00:12:05
    refatoração eh existem diferentes
  • 00:12:07
    catálogos de diferentes autores então
  • 00:12:10
    pessoas que já T uma experiência de
  • 00:12:13
    muitos anos décadas eh e que fazem
  • 00:12:16
    refatoração normalmente elas né porque
  • 00:12:19
    elas são muito legais elas gostam de de
  • 00:12:21
    de de contribuir com a comunidade de
  • 00:12:23
    engenharia de software de Engenheiros e
  • 00:12:25
    de desenvolvedores elas documentam falam
  • 00:12:28
    Olha uma oração que eu costumo fazer é
  • 00:12:30
    essa eu procuro por tal tipo de coisa
  • 00:12:33
    para alterar aquele tipo de coisa e aí
  • 00:12:36
    existe no livro que que tá disponível lá
  • 00:12:38
    como material para vocês um catálogo de
  • 00:12:42
    Sete Tipos isso aqui são tipos de
  • 00:12:45
    refatoração compondo métodos movendo
  • 00:12:48
    recursos entre objetos organizando dados
  • 00:12:51
    simplificando expressões condicionais
  • 00:12:54
    tornando as chamadas de métodos mais
  • 00:12:56
    simples lidando com generalização e
  • 00:12:59
    refur e e e um grupo que são as
  • 00:13:14
    refaturar algumas refatorações para quem
  • 00:13:17
    em orientação a sim são todas
  • 00:13:19
    refatorações de orientação a objetos é
  • 00:13:23
    um um aviso que eu devia ter feito lá no
  • 00:13:24
    início da aula mas sim então por exemplo
  • 00:13:28
    para quem está lidando com generalização
  • 00:13:30
    especialização existe aqui algumas eh
  • 00:13:33
    algumas ideias de refatoração específica
  • 00:13:35
    para isso E aí
  • 00:13:38
    ah agora sim né são as o o o só aqui eu
  • 00:13:43
    estou apenas mostrando só estou listando
  • 00:13:45
    né E aí
  • 00:13:46
    eh Vocês precisam então olhar lá no
  • 00:13:49
    material no livro
  • 00:13:51
    eh pelo menos uma para vocês entenderem
  • 00:13:54
    exatamente como é um a ideia né O que
  • 00:13:57
    significa exatamente a a a sugestão
  • 00:14:00
    desses autores aqui para fazer a
  • 00:14:02
    refatoração eh mas por exemplo em termos
  • 00:14:06
    de eh compor métodos que é o que era o
  • 00:14:09
    primeiro daqui né olha primeiro aqui era
  • 00:14:12
    compor métodos o primeiro de sete é um
  • 00:14:15
    grupo que tem na verdade
  • 00:14:17
    eh nove sugestões para refatoração um
  • 00:14:22
    deles é internalizar Método então quando
  • 00:14:25
    é que você deveria identificar métodos
  • 00:14:28
    que você deveria considerar a
  • 00:14:30
    possibilidade de internalizar essa esses
  • 00:14:34
    métodos Quando que você deveria pensar
  • 00:14:36
    em dividir variável temporária quando
  • 00:14:39
    você deveria substituir variável
  • 00:14:41
    temporária por consulta quando você
  • 00:14:44
    deveria eh substituir um método por um
  • 00:14:47
    objeto método
  • 00:14:49
    ah enfim o catálogo ele traz a a a a
  • 00:14:55
    descrição de cada um desses né e você
  • 00:14:59
    conhecendo e entendendo você fica com
  • 00:15:02
    aquilo na sua mente e quando você se
  • 00:15:03
    depara com uma situação daquela você
  • 00:15:06
    pode então considerar fazer essa
  • 00:15:07
    refatoração
  • 00:15:10
    Ah aqui oito sobre o segundo grupo que é
  • 00:15:14
    movendo recursos entre
  • 00:15:16
    objetos organizando dados então por
  • 00:15:18
    exemplo
  • 00:15:21
    eh substituir vetor por objeto ah
  • 00:15:25
    transformar a associação unidirecional
  • 00:15:28
    em direcional ou o contrário
  • 00:15:31
    Eh claro que ele vai explicar lá olha
  • 00:15:34
    uma associação unidirecional é mais
  • 00:15:37
    usada para isso a bidirecional O melhor
  • 00:15:39
    é que ela seja usada para isso então se
  • 00:15:41
    você tá usando errado considere
  • 00:15:43
    eh trocar né
  • 00:15:46
    Ah esse aqui é super grande tem 16
  • 00:15:49
    ideias né sobre organização de dados
  • 00:15:52
    ah simplificando expressões
  • 00:15:55
    eh condicionais são oito ideias
  • 00:15:59
    no total né Eu acho que são por voltas
  • 00:16:02
    de 60 ou 70 ideias de refatoração neste
  • 00:16:07
    catálogo aqui do livro que eh eu estou
  • 00:16:11
    me baseando para para apresentar essa
  • 00:16:13
    aula para vocês certo tornando as
  • 00:16:16
    chamadas de métodos mais simples Tem um
  • 00:16:18
    aqui que é simplesmente renomear o
  • 00:16:20
    método então considere renomear o método
  • 00:16:25
    claro que também como nos outros casos o
  • 00:16:28
    o autor é aqui explica né quando você
  • 00:16:30
    deveria considerar renomear o método e
  • 00:16:32
    que tipo de padrão seria bom você pensar
  • 00:16:35
    em adotar Ah também é um bom é um bom
  • 00:16:39
    conjunto de de ideias aqui de sugestões
  • 00:16:41
    são 15 temos também lidando com
  • 00:16:45
    generalização que é aquele que eu tinha
  • 00:16:46
    destacado lá atrás né então subir Campo
  • 00:16:49
    na hierarquia subir método na hierarquia
  • 00:16:52
    descer método na hierarquia descer Campo
  • 00:16:54
    na hierarquia como a gente tá
  • 00:16:56
    trabalhando com generalização e
  • 00:16:57
    especialização subir e descer na
  • 00:16:59
    hierarquia por exemplo e por fim é um
  • 00:17:03
    grupo aqui pequeno de
  • 00:17:12
    refaturar O que é né quando cada uma
  • 00:17:15
    deve ser usada mas é um catálogo
  • 00:17:17
    bastante grande e eh é para ser um livro
  • 00:17:20
    de cabeceira né para quem gosta de
  • 00:17:22
    engenheira de software e quer se tornar
  • 00:17:24
    um engenheiro de software bastante
  • 00:17:26
    produtivo eh e melhorar idade do seu
  • 00:17:29
    código A ideia é que vocês conheçam
  • 00:17:32
    esses esses padrões não mas sim essas eh
  • 00:17:36
    esse catálogo de ideias para refatoração
  • 00:17:40
    Ah bom então aqui sim a refat a
  • 00:17:44
    referência é o livro
  • 00:17:58
    é por essa aula é isso
  • 00:18:01
    [Música]
  • 00:18:27
    obrigado h
  • 00:18:33
    [Música]
Etiquetas
  • refatoração
  • engenharia de software
  • desenvolvimento
  • manutenção de software
  • código
  • boas práticas
  • catálogo de refatoração
  • estruturas de dados
  • melhoria contínua
  • arquitetura de software