A nossa principal tarefa como desenvolvedor é resolver problemas. A nossa principal ferramenta para alcançar essa meta é o nosso código.
Um código não profissional, tem o poder de nos atrasar consideravelmente, nos fazendo trabalhar mais lentamente. Além disso, nesse contexto de código ruim, qualquer alteração pode ser acompanhada de bugs. Isso é péssimo!
Como podemos superar isso? Como organizar o nosso código de maneira mais profissional?
Os amigos inseparáveis
Se em algum momento da vida teve contato com orientação a objetos, já deve ter ouvido falar sobre coesão e acoplamento. Estes são dois conceitos fundamentais neste paradigma. Idealmente, um bom código é composto de alta coesão e baixo acoplamento. Talvez, podemos dizer que uma das características de um código profissional esteja resumida nesta frase.
As 3 estratégias
Gostaria de listar três estratégias que certamente nos ajudarão na caminhada de produzir códigos com alta coesão e baixo acoplamento (ou seja, código mais profissional).
Nem tudo precisa estar público
Quanto mais aberto for cada um dos nossos contextos, mais a nossa base de código se tornará uma emaranhado de objetos. Certamente a manutenção desse código será mais difícil, já que existe uma ligação muito grande entre todo o código (alto acoplamento). Isso pode fazer com que a alteração em um ponto do sistema propague a necessidade de mudanças em outros. Nós precisamos resistir a tentação de deixar tudo público! Isso diminui as chances de criar dependências desnecessárias para as nossas classes.
Cada um no seu quadrado
Os pacotes devem conter todas as classes de um contexto específico. O código que serve a um propósito comum deve se manter unido. Isso mantém nosso código mais coeso. Baixa coesão significa que o código que compõem alguma funcionalidade pode estar espalhado por toda a base de código, em diversos contextos. Isso dificulta tanto a legibilidade como a manutenibilidade.
Programando para interfaces
Como então um contexto pode conversar com outro sem deixar todas as classes públicas? Uma das maneiras de resolver esse problema é permitir que os contextos se comuniquem através de interfaces e que na medida do possível, apenas elas sejam publicas. Ela será a porta de entrada do seu contexto.
Conclusão
Este foi um primeiro passo para o desenvolvimento de um código mais profissional. Certamente a aplicação dessas estratégias, permitirá desenvolver um código melhor, mais fácil de manter e mais adaptável a novos requisitos. Espero que tenha gostado do conteúdo, até a próxima 🤙!
📃 Para saber mais
- https://dzone.com/articles/we-are-structuring-code-wrongly
- https://stackoverflow.com/questions/39946/coupling-and-cohesion/39988#39988
- https://softwareengineering.stackexchange.com/questions/334591/why-not-make-everything-private-or-public
- https://cursos.alura.com.br/forum/topico-sobre-programar-para-interfaces-18358
- https://blog.matheuscastiglioni.com.br/medindo-e-entendendo-acoplamento/#:~:text=Acoplamento%20Aferente%3A%20Mede%20o%20n%C3%BAmero,conex%C3%B5es%20que%20sai%20dos%20c%C3%B3digos
- https://medium.com/clarityhub/low-coupling-high-cohesion-3610e35ac4a6
Créditos foto: Fundo foto criado por evening_tao - br.freepik.com
Top comments (0)