SOLID — Introdução

Alexandre | BrAcInhO
5 min readMar 28, 2023

Seu Organizador Lindo de Ideias para Desenvolver!

A pergunta motivadora desta apresentação é a seguinte: qual é o motivo para deixar o SOLID para ser estudado depois dos primeiros passos na programação? Há algum impeditivo teórico que leve todos a deixar para depois as cinco melhores práticas documentadas que devem ser o axioma de todo programador? Penso que podemos apresentar deu uma forma divertida, concisa e simples que estes cinco princípios que podem trazer muitos benefícios ao iniciante, pois, desde já podemos introduzi-los no mundo da programação eficiente e com um detalhe importante: programação que seja atrativa e funcione desde a primeira linha de código com boas práticas e com uma pitada de profissionalismo. Minha experiência pessoal é que, ao conhecer o SOLID mais a fundo, minha rotina diária de programação melhorou e muitos dos problemas desapareceram. Vamos oportunizar mais gente?

***

Quando pensamos no desenvolvimento de um software sempre imaginamos que existe um problema motivador cujas respostas podem ser as mais variadas possíveis. De fato, talvez o único elemento que não muda é a criatividade do programador: ou ele é criativo e propõe soluções para um ou mais problemas ou não há soluções para tais problemas. Durante o ciclo de criação e atualização de um software também temos algumas práticas e/ou decisões técnicas que permitem padronizar a operação dos envolvidos e garantem que as melhorias e novidades possam aparecer sem que o programa sofra com bugs ou quebras.

Até aqui nada de novidade. Porém, se eu te dissesse que existe um método infalível que é altamente aconselhável para qualquer desenvolvedor? Se conselho fosse bom ninguém dava, correto? E se eu te dissesse que existe um mecanismo para economizar tempo? Me parece que o tempo é muito precioso para o iniciante, seja porque ele demora mais para construir propostas de códigos com qualidade, seja porque este lapso temporal muitas vezes é o que o impede de evoluir. E para o programador experiente? Me lembro claramente de um ditado popular conhecido como “Tempo é dinheiro!”.

Agora vem o melhor de tudo isto. O nome desta maravilha se chama carinhosamente de SOLID. O que é o tal SOLID? É um conjunto de 5 princípios infalíveis para que nossos códigos possam ser entendidos, reaproveitados, limpos, e ainda permite que nós possamos adotar estratégias e metodologias para o uso de padrões de arquitetura, padrões de desenho de soluções e testabilidade que farão com o que o seu tempo de construção do software atenda o tempo de mercado desta nova solução.

Pretendo apresentar 5 motivos para que você adote definitivamente o SOLID como bandeira em toda sua codificação. Tenho a certeza que alguns verbos poderão ser úteis para antecipar estas questões: organização, extensão, substituição, divisão e inversão poderão ser muito úteis para que seu código seja mais eficiente, mais limpo e tenha valor agregado. Especialmente um atributo aqui é o mais importante: um código que funcione e que possa ser melhorado a cada incremento. Vamos facilitar o entendimento destes princípios para nossos programadores iniciantes que estão entrando no mercado de trabalho?

Princípios do Design

Quando ouvimos falar a sigla SOLID pensamos normalmente se tratar de duas coisas antônimas, ou seja, se de um lado pensamos que são possíveis “regras” que foram redigidas por um programador entusiasmado com um regramento do mundo “criativo” da programação ou de outro lado pensamos que é um conjunto de regras desnecessário e que de nada serve para nosso dia-a-dia, afinal, a “arte” da programação não necessita de quaisquer regras. E no final das contas nos ensinaram juntamente estes dois pontos de vista durante a escola tradicional de programação como dois dogmas que são o caminho da programação: a) vamos sempre ter receitas infalíveis para os novos problemas e, b) não precisamos dos conselhos dos mais velhos porque o mundo da programação muda constantemente e, consequentemente, tudo muda!

Porém, eis que nesse ínterim aparece o Tio Bob nos aconselhando sobre um conjunto de 5 princípios que podem nos salvar de várias enrascadas. E agora? Acreditamos ou simplesmente ignoramos estas informações? Podemos ser audazes e tentar trilharmos nosso caminho solitariamente com a premissa de que não precisamos dos conselhos do “Tio Bob” ou podemos experimentar um mundo diferente trilhando o caminho com informações valiosas que podem nos livrar das mais variadas enrascadas. O que fazemos? Eu arrisco dizer que ouvir é grátis, ou seja, como diz meu pai, vamos dar um voto de confiança e escutar, afinal não perdemos nada em ouvir. Afinal, o que o Tio Bob diz?

“Os princípios SOLID nos dizem como organizar as funções e estruturas de dados em classes e como essas classes devem ser interconectadas. (…) O objetivo dos princípios é a criação de estruturas de software de nível médio que:

Tolerem mudanças,

sejam fáceis de entender e

sejam a base de componentes que possam ser usados em muitos sistemas de software”.

Caramba! Sabe que o tal Tio Bob falou bonito? Quando somos iniciantes uma das primeiras dúvidas no mundo da programação que aparece é a pergunta sobre como devemos organizar nossos códigos. Veja, nossas ideias são as melhores, nossos códigos vão nos trazer riqueza e nós seremos os caras mais famosos do mundo! Oi? Isso te soa familiar? Ah! Vai dizer que você não foi enfeitiçado pelo canto da sereia? Como assim? Você vai revolucionar o mundo sem sequer saber como se organiza um código com meia dúzia de linhas?

Já imagino sua resposta. Sim, eu sei organizar meus códigos e eles funcionam super bem. Porém, chega o dia sonhado de fazer aquela entrevista para o emprego dos sonhos e te perguntam se você conhece o SOLID. Qual a razão? Por que os mais velhos abandonaram suas crenças juvenis e viram que o Tio Bob nos deixou valiosos conselhos que foram incorporados a duras penas na vida dos programadores mais experientes. E ninguém vai assumir isto, porém, eu vou te dizer: meu caro, o diabo nunca foi mais inteligente que os demais, ele simplesmente é mais velho e mais experiente, ou seja, ele viveu mais e quebrou a cara muito mais vezes do que você imagina. Vamos dar o braço a torcer e vamos aprender com quem sabe? Alô Tio Bob, estamos contigo!

Prontos para a revolução? É um caminho sem volta! Aperte seu cinto, organize seu assento e preste muita atenção. Nós vamos entrar no mundo mágico do Tio Bob. Lembra que ele esteve no mundo imperfeito e perfeito? Não vejo a hora de falar sobre este assunto!

Nos vamos em nossa próxima publicação!

Deseja conversar mais sobre o assunto? Você me encontra aqui!

https://www.linkedin.com/in/alexandre-klock-ernzen-5484319/

Artigos sobre SOLID:

Introdução > https://medium.com/@bracinho2/solid-introdu%C3%A7%C3%A3o-6b4dbdacdb87

S > https://medium.com/@bracinho2/srp-single-responsability-principle-8d9a68bbae76

O > https://medium.com/@bracinho2/ocp-open-closed-principle-cc21cb168707

L > https://medium.com/@bracinho2/l-liskov-substitution-principle-princ%C3%ADpio-da-substitui%C3%A7%C3%A3o-de-liskov-4acd1d55b988

I > https://medium.com/@bracinho2/i-interface-segregation-principle-princ%C3%ADpio-da-segrega%C3%A7%C3%A3o-da-interface-a4fea1d54633

D > https://medium.com/@bracinho2/d-dependency-inversion-principle-princ%C3%ADpio-da-invers%C3%A3o-da-depend%C3%AAncia-6a94c503741f

--

--

Alexandre | BrAcInhO

#FlutterLover > Desenvolvedor Dart/flutter | Analista de Educação Corporativa | Entusiasta do aprendizado coletivo!