O código não é importante numa aplicação? Nós dizemos-lhe que é!

Opensoft > Blog  > O código não é importante numa aplicação? Nós dizemos-lhe que é!
O código não é importante numa aplicação? Nós dizemos-lhe que é!

O código não é importante numa aplicação? Nós dizemos-lhe que é!

 

O software facilita o nosso dia-a-dia e já não passamos sem ele. Num futuro que se adivinha com cada vez mais aplicações em diferentes dispositivos, nem sempre conseguimos perceber como é importante a qualidade do software que utilizamos (e do código que o compõe).

 

O software só facilita a nossa vida se for, efetivamente, bom software e assegurar, por exemplo, a segurança e integridade dos dados. Como se garante que o software tem qualidade? Como seria de esperar, tudo começa pelo princípio, ou seja, na conceção da aplicação.

 

Qualidade do software e qualidade do código

 

A qualidade de software  começa no processo de implementação de uma aplicação e como é assegurado que os objetivos definidos para a aplicação são cumpridos. A qualidade do código é um elemento fundamental para a qualidade do software, além de outras valências como a disponibilidade do sistema e a sua usabilidade.

 

Uma vez que o código é a base do software, é importante que a equipa de desenvolvimento assegure a sua qualidade, isto é, que código desenvolvido é eficiente, não contenha redundâncias, seja robusto e escalável. Mas todas estas caracteristicas só fazem um bom código se este cumprir os objetivos para o qual foi o software foi desenhado.

 

Qual a importância da qualidade do código?

 

A qualidade do código garante, além do bom funcionamento da aplicação, a redução de custos futuros no desenvolvimento/manutenção do software. Se o código estiver bem estruturado facilmente é lido e trabalhado por qualquer pessoa, mesmo que não tenha integrado a equipa que criou o código.

 

Quando a qualidade do código não está entre as prioridades da equipa de desenvolvimento, a aplicação terá custos acrescidos a médio prazo, já que a gestão e manutenção da aplicação vai ser mais difícil e demorada.

 

Quais as características do “bom” código?

 

Há algumas características que ajudam a identificar a qualidade do código:

 

Segurança: o código deve ser desenvolvido recorrendo a técnicas que evitem possíveis ataques, por exemplo SQL Injection ou Cross-site scripting (XSS ). Deve também ser dada especial atenção à utilização de bibliotecas opensource – estas devem estar sempre atualizadas de modo a evitar vulnerabilidades que possam ser exploradas por terceiros.

 

Robustez: o código deve estar preparado para lidar com excepções e, caso exista algum erro, deve fornecer mensagens de erro claras e compreensíveis pelo utilizador para que facilmente possa entender o que está a acontecer.

 

Eficiência: ninguém gosta de usar uma aplicação com mau desempenho. Quando se evitam partes redundantes ou desnecessárias no código, a aplicação torna-se mais eficiente. Este conceito é ainda mais relevante quando se trata de aplicações que trabalham com um grande volume de informação.

 

Manutenção: possibilidade de adicionar/modificar novas funcionalidades ou corrigir problemas com o mínimo de esforço e sem afetar outros módulos do sistema. Esta característica está diretamente relacionada com o conceito de coupling – o código deve ser estruturado de forma a que exista independência entre módulos, oferecendo mais segurança quando é necessário fazer uma alteração.

 

Documentação: o código deve ter documentação para que possa ser alterado, lido e compreendido facilmente mesmo por alguém que não é o autor do código. Código “bom” deve ser transparente para quem o lê.

 

Fiabilidade: a aplicação deve ter um comportamento consistente e sem falhas, por isso é necessário a execução de testes unitários, de integração e de regressão. Estes testes podem ser medidos por métricas de cobertura, que mostram qual a percentagem de linhas do código que estão cobertas pelos testes. Quanto mais elevada a percentagem, maior a garantia de que o código produz os resultados esperados. Por outro lado, garante-se também que, ao fazer uma alteração, não são quebradas outras funcionalidades.

 

Como saber se o código tem qualidade?

 

Uma das formas de avaliação do código é através de validações sintáticas. Atualmente existem várias ferramentas no mercado que analisam a qualidade do código de forma automática.

 

Estas ferramentas verificam, mediante um conjunto de regras, se o código garante a segurança da aplicação, se não há redundâncias ou foi escrito de uma forma complexa e possa ser simplificado. Na prática, as ferramentas avaliam se o código pode ser classificado como “bom código”.

 

Os bons projetos de desenvolvimento de software são aqueles que, entre outras valências, garantem a qualidade do código. Por vezes, as equipas de desenvolvimento preocupam-se apenas com os prazos de entrega dos projetos e descuram a qualidade do produto final.

 

É importante que os projetos de software sejam desenvolvidos por equipas experientes, que tenham já definidos processos e metodologias de trabalho que envolvam processos de testes e práticas consistentes de avaliação da qualidade do produto final.

 

Na Opensoft utilizamos a plataforma SonarQube para medir a qualidade do código em cada aplicação que desenvolvemos e, em conjunto com outras ferramentas, medir a cobertura de testes das nossas aplicações. Desta forma, garantimos a qualidade das soluções que desenvolvemos e simplificamos a sua manutenção.

 

1 Comentário
  • Hermes Simões
    Responder
    Posted at 14:09, 20 Junho, 2017

    Concordo em absoluto com o artigo, a sua objectividade, simplicidade e pragmatismo.
    Tem a inteligência e definição dos princípios do desenvolvimento do código, dos programas, das aplicações com base na sua história desde o seu início até aos dias de hoje.
    A existência de uma plataforma que ajude na construção e correcção deste código é muito importante, particularmente em resposta às novas metodologias de desenvolvimento, complexidade, dependências e relações aplicacionais que no todo configuram os actuais sistemas de informação.

Deixe um comentário

Comentário
Nome
Email
Website