Especialista defende abordagem minimalista para o design de software, com objetividade e foco nas necessidades dos clientes.

O que faz um bom software ser um bom software? Uma vez que pouquíssima gente (para não dizer ninguém) desenvolve software apenas por esporte, a entrega do produto para o cliente precisa ser excelente – para que o cliente veja valor sempre. “Para sermos excelentes, precisamos buscar a excelência tanto no desenvolvimento quanto na manutenção do software”, afirma João Batista Neto, desenvolvedor independente com 30 anos de carreira.

design de software
Batista Neto fala sobre o design e desenvolvimento de softwares no PHP Summit 2023. Foto: Renan Facciolo

Palestrando no PHP Community Summit, evento da Locaweb com coparticipação do PHPSP em São Paulo, Batista Neto lembra que desenvolver software significa, no fundo, criar produtos para serem consumidos por empresas e pessoas físicas. “O desenvolvimento de software precisa ser pensado a partir do ponto de vista do cliente, para que ele se sinta confortável, tenha bons resultados e continue a usar o sistema”, explica.

Para ele, ter excelência no desenvolvimento do software depende de atribuir responsabilidades claras, ter um propósito definido (o objetivo a ser cumprido pelo sistema) e agregar valor para o cliente. “Diante de tudo isso, a linguagem de programação é menos importante, pois ela está a serviço de um objetivo maior, que é atender o cliente com eficiência”, afirma.

Esse pensamento focado no cliente também se aplica à manutenção do software. “É preciso pensar não apenas no desenvolvimento presente, mas também nas transformações ao longo do tempo”, comenta Batista Neto. Para ele, os requisitos de software mudam com o tempo, tornando a manutenção do software cada vez mais complexa. Além disso, o próprio cliente muda. “Isso faz com que o primeiro desenvolvimento tenha de ser o mais clean possível, para que seja mais fácil lidar com o aumento de complexidade na manutenção. Agregar mais coisas ao que já foi escrito é mais barato, mas vai criando um problema de longo prazo, que é aumentar o esforço de manutenção, gerar mais custos e prejudicar a performance”, analisa o especialista.

Para ele, o recado é muito claro: seja objetivo ao desenvolver o software, para não criar complexidade desnecessária. “Quanto mais simples for o código, mais fácil será entender o impacto de novos features e menores as possibilidades de bugs”, diz. Nesse sentido, um cuidado especial é evitar o uso de “magic numbers”, que são pedaços de código que fazem bem uma função, embora você não entenda exatamente como eles fazem aquilo. “Com eles, você vai acabar tendo dificuldade na manutenção, pois não entenderá corretamente o impacto em outras áreas do software. E isso acontece com muito mais frequência do que gostaríamos”, acrescenta.

+ Hospedagem Dedicada: como saber se é para você?

O valor da coesão

Boas interfaces e bons sistemas são como ingredientes bem escolhidos: eles destacam os pontos positivos (os “bons sabores”), sem excessos. “Quando há excesso de código, muito possivelmente você está tentando resolver mais de uma responsabilidade e deveria se perguntar se o código está realmente cumprindo seu propósito”, explica.

Para o especialista, o trabalho de design de software é um trabalho constante de priorização. “Seja objetivo para entregar o que o cliente realmente deseja, da forma mais eficiente possível. Evite excessos, pois eles trarão dificuldades extras, especialmente quando é preciso garantir a compatibilidade com outros sistemas no longo prazo”, conta. Uma dica importante é contar com abstrações, que se adaptam mais facilmente a mudanças de código. “Gosto de usar pequenas bibliotecas, que são mais simples de usar e modificar. Trabalhar com frameworks menores é uma boa maneira de evitar complexidade. Simplifique sempre que possível”, recomenda.

Batista Neto acredita que os desafios de desenvolvimento de software não são obstáculos, e sim oportunidades para fortalecer o design do sistema e a habilidade do desenvolvedor. Mas, acima de tudo, é preciso pensar em entregar valor. “Pense sempre no cliente e em sua necessidade de uso, para desenvolver da maneira mais elegante e clean possível”, completa.

A Hospedagem Dedicada garante a melhor performance do seu site no ar

SAIBA MAIS