sábado, 23 de julho de 2016

Boas práticas para o desenvolvimento de software: um estudo sobre sua percepção e importância para desenvolvedores iniciantes e experientes

Este semestre terminei o TCC do tecnólogo em Sistemas para Internet, que estou cursando no IBGEN. O assunto do TCC é desenvolvimento de software, em específico boas práticas para o desenvolvimento de software.
O trabalho consiste numa seleção de boas práticas de software mencionadas na literatura da área de engenharia de software, seguido de uma pesquisa com desenvolvedores iniciantes e avançados para entender seu grau de concordância com as boas práticas abordadas no trabalho e com o uso de  boas práticas no geral.  Também se analisou se o uso de boas práticas torna o código mais legível para desenvolvedores iniciantes. A influência de fatores da empresa no desenvolvedor e na sua motivação estava nos objetivos do trabalho, mas devido a um perfil pouco diversificado dos participantes, não pôde ser concluída, ficando em aberto para pesquisas futuras.


Práticas abordadas no trabalho

Ao todo foram abordadas seis práticas:
  1. Nomenclatura significativa
  2. Ao invés de comentar, tente melhorar a qualidade do código primeiro
  3. Funções/métodos devem ter poucos argumentos
  4. Em linguagens orientadas a objetos, evite retornar uma referência nula de um método e evitar passar uma referência nula para um método
  5. Verifique a validade dos parâmetros recebidos em funções e métodos
  6. Minimize o escopo das variáveis locais

Referências utilizadas

Dentre toda a literatura utilizada, vale destacar alguns dos livros que foram consultados para realizar este trabalho. Todos são de autores consagrados na área de engenharia de software, sendo uma leitura muito recomendada para qualquer desenvolvedor de software.
  • Implementation Patterns - Kent Beck
  • Effective Java -Joshua Bloch>
  • Refactoring: Improving the Design of Existing Code - Martin Fowler
  • The Elements of Programming Style - Brian Kernighan e P. J. Plauger
  • The Pragmatic Programmer: From Journeyman to Master - Andy Hunt e Dave Thomas
  • Clean Code: A Handbook of Agile Software Craftsmanship - Robert Cecil Martin
  • Code Complete - Steve McConnell

Artigo na íntegra

Abaixo você encontra o artigo na íntegra.