Giovanni Rozza
Giovanni Rozza09/05/2023 19:14
Compartilhe

Um checklist para refatorar código legado usando práticas SOLID

    Aqui está uma lista de ações que você pode tomar para seguir os princípios de desenvolvimento de software SOLID ao refatorar código legado:

    Princípio da Responsabilidade Única (SRP):

    • Identifique classes que possuem múltiplas responsabilidades e divida-as em classes menores e mais focadas.
    • Certifique-se de que cada classe tenha apenas um motivo para mudar.
    • Evite criar "classes Deus" que fazem demais.

    Princípio Aberto/Fechado (OCP):

    • Projete classes e módulos para serem abertos para extensão, mas fechados para modificação.
    • Use interfaces e classes abstratas para definir contratos que possam ser implementados ou estendidos por outras classes.
    • Evite modificar código existente ao adicionar nova funcionalidade.

    Princípio da Substituição de Liskov (LSP):

    • Certifique-se de que as subclasses possam ser usadas no lugar de suas classes pai sem causar comportamento inesperado.
    • Evite violar o contrato definido pela classe pai.

    Princípio da Segregação de Interface (ISP):

    • Divida interfaces grandes em interfaces menores e mais focadas.
    • Evite forçar clientes a implementar métodos que não precisam.
    • Use composição em vez de herança para alcançar flexibilidade.

    Princípio da Inversão de Dependência (DIP):

    • Dependem de abstrações, não de implementações concretas.
    • Use injeção de dependência para fornecer dependências às classes.
    • Evite acoplamento forte entre classes.

    Ao seguir esses princípios, você pode criar um código mais modular, flexível e fácil de manter. Lembre-se de que refatorar código legado pode ser uma tarefa desafiadora, mas vale a pena o esforço para melhorar a qualidade da sua base de código.

    Mais detalhes dos princípios SOLID em:

    https://lake-mouth-b3b.notion.site/ARTIGO-BOAS-PR-TICAS-DE-PROGRAMA-O-S-O-L-I-D-e6648311f87a4bb599326a359da8c2b2

    Compartilhe
    Comentários (2)
    Rodrigo Roma
    Rodrigo Roma - 09/05/2023 20:01

    Muito iteressante esse checklist!


    Obrigado pelo post ;)

    Tiago Pimentel
    Tiago Pimentel - 09/05/2023 19:25

    Maravilha de conteúdo! Obrigado