Baixe o app para aproveitar ainda mais
Prévia do material em texto
andrecelestino.com Dicas para o desenvolvimento de um software - Parte 3 Ver todos os artigos de André L. Celestino → Este é o terceiro artigo sobre algumas dicas para o desenvolvimento de um software com qualidade e uma funcionalidade. Aproveito a oportunidade para agradecer a todos que leram e compartilharam o primeiro e o segundo artigo sobre este assunto. Espero que as dicas neste artigo tragam um pouco mais de conhecimento aos leitores e, mais uma vez, sintam-se à vontade para expressar qualquer opinião sobre este texto. Padronização de código Este item é bastante importante quando o projeto é desenvolvido por mais de uma pessoa, ou melhor, por uma equipe de desenvolvimento. Definir uma padronização do código auxilia na legibilidade e na compreensão do que está sendo executado na aplicação. Identar o código nos blocos de condição if-else e nos laços de repetição são uma das práticas que ajudam os desenvolvedores a identificar facilmente a execução de um método. Identação significa “estruturar” as linhas do código em tabulações de acordo com o nível da instrução. A figura abaixo exemplifica um código bem identado utilizando a linguagem C++: Exemplo de identação de código Quando há uma grande quantidade de aninhamento de blocos no código-fonte, a identação se torna ainda mais importante para associar o início e o fim de cada bloco aninhado. Algumas ferramentas de desenvolvimento, como o NetBeans e o Visual Studio, possuem o recurso de destacar o aninhamento quando o cursor do mouse é posicionado na chave que abre ou fecha o bloco. Desenvolvedores em Delphi também podem adquirir essa funcionalidade com os addons cnPack ou GExperts, ambos gratuitos. Dicas para o desenvolvimento de um software - Parte 3 about:reader?url=http://www.andrecelestino.com/dicas-para-o-desenvo... 1 de 4 20/03/2017 09:22 As variáveis, classes, objetos e métodos também devem possuir nomes sugestivos de acordo com o seu objetivo. Portanto, uma variável com o nome “SomaTotalPedidos” é bem mais fácil de ser assimilada do que uma variável chamada “vSTotPed”. O código fica mais legível quando se trabalha com esse tipo de nomenclatura, mesmo que o nome fique ligeiramente maior. Tratamento de exceções Por mais que o desenvolvedor faça testes na aplicação antes de liberar a versão, é natural que alguns erros ainda possam ocorrer inesperadamente para o usuário. Estes erros são decorrentes de problemas de semântica, gravação de dados inconsistentes, falhas de acesso à memória ou até mesmo eventos inesperados do sistema operacional. No ambiente de programação, os erros são conhecidos tecnicamente como exceções. Uma boa prática de programação exige que exista um tratamento de exceções em todos os pontos mais sensíveis do código. Inserções e atualizações no banco de dados são exemplos de operações que possivelmente podem retornar algum erro para o usuário. A recomendação é envolver este código em um bloco de tratamento de exceção e executar uma operação de rollback (desfazer as alterações no banco de dados) caso algum erro seja encontrado. Ao utilizar tratamento de exceções, também é possível criar mensagens mais significativas para reportar a exceção ao usuário. Dessa forma, faz mais sentido exibir a mensagem “Ocorreu um erro. Verifique os dados.” ao invés de “An error occurred. Access violation at address 004068EC.”. Estes tipos de mensagens em inglês técnico geralmente são desconhecidas para o usuário e não trazem nenhum tipo de informação para auxiliá-lo. Atualização do sistema A cada atualização do sistema, normalmente é necessário substituir o executável no computador do cliente, rodar scripts SQL e alterar parâmetros de configuração. Sendo assim, é preciso ir até o cliente e fazer todo o processo manualmente no computador local. Para evitar a viagem, uma alternativa é realizar a atualização remotamente através de softwares como o TeamViewer, LogMeIn ou VNC. Porém, é bastante inconveniente quando há dezenas ou até centenas de computadores para serem atualizados. Se a atualização for feita em um computador por vez, pode demorar dias para terminar a atualização em todos as máquinas. Portanto, ao invés de realizar a atualização manualmente, crie um módulo exclusivo para automatizar este processo. O objetivo é permitir que o próprio sistema verifique novas versões, baixe o arquivo de atualização e realize todo o processo automaticamente, sem a intervenção do usuário. Observe que a atualização automática está presente na maioria dos softwares atuais, como navegadores e antivírus. Este tipo de módulo não é simples de ser desenvolvido, mas é plenamente funcional e reduz o trabalho de atualizar vários computadores simultaneamente. Dicas para o desenvolvimento de um software - Parte 3 about:reader?url=http://www.andrecelestino.com/dicas-para-o-desenvo... 2 de 4 20/03/2017 09:22 Exemplo de tela de atualização Programação Orientada a Objetos No mundo da programação, a maioria dos métodos e componentes são modelados em classes para proporcionar a reutilização de código e a manipulação de objetos. A princípio, trabalhar com classes e objetos pode ser relativamente complexo, mas sem dúvida garante maior controle de tudo o que acontece dentro da aplicação. Através da Programação Orientada a Objetos (POO), é possível reaproveitar ou reduzir várias linhas de código por meio de técnicas como abstração, herança e polimorfismo. Além disso, definir a visibilidade dos atributos de uma classe e criar métodos privados para manipulação de valores permitem que a estrutura interna da aplicação não seja exposta a outros níveis. Há muito o que se falar sobre Programação Orientada a Objetos, visto que o seu conceito é bem abrangente diante do ponto de vista da Engenharia de Software. Principais elementos da P.O.O. Durante a fase de projeto, a Programação Orientada a Objetos é amplamente praticada por projetistas e analistas de sistemas através da linguagem UML para modelagem de dados. O Diagrama de Classes, por exemplo, fornece um grande detalhamento de informações para simplificar a modelagem das classes e das tabelas do banco de dados. Em conclusão, pode-se dizer que a utilização da POO evita que o sistema sofra consideráveis alterações e adaptações após a implantação, reduzindo o tempo de desenvolvimento e minimizando os erros de implementação. Muito obrigado mais uma vez pela leitura! Um abraço a todos! Confira também as outras partes dessa série de artigos: Dicas para o desenvolvimento de um software – Parte 1 Dicas para o desenvolvimento de um software – Parte 2 Dicas para o desenvolvimento de um software – Parte 3 Dicas para o desenvolvimento de um software – Parte 4 Dicas para o desenvolvimento de um software – Parte 5 Dicas para o desenvolvimento de um software - Parte 3 about:reader?url=http://www.andrecelestino.com/dicas-para-o-desenvo... 3 de 4 20/03/2017 09:22 Dicas para o desenvolvimento de um software – Parte 6 Dicas para o desenvolvimento de um software – Parte 7 Dicas para o desenvolvimento de um software – Parte 8 Dicas para o desenvolvimento de um software – Parte 9 Dicas para o desenvolvimento de um software – Parte 10 Dicas para o desenvolvimento de um software – Parte 11 Dicas para o desenvolvimento de um software - Parte 3 about:reader?url=http://www.andrecelestino.com/dicas-para-o-desenvo... 4 de 4 20/03/2017 09:22
Compartilhar