Boas práticas para o desenvolvimento de software – Introdução

software
Este post faz parte da série Boas práticas para o desenvolvimento de software. Leia também os outros posts da série:

Este artigo relata um pouco da minha experiência pessoal com desenvolvimento de software, predominantemente de firmware embarcado. Como muitos profissionais de minha geração, iniciei o meu aprendizado de programação preenchendo planilhas em papel para a posterior geração de cartões perfurados no padrão da IBM.  As correções e alterações do programa eu fazia perfurando manualmente novos cartões. A linguagem de programação era o FORTRAN IV e o programa era executado num computador de grande porte (Um Burroughs, se não me engano).

 

Cartão perfurado padrão IBM

 

Mais tarde passei a programar calculadoras científicas, depois surgiram os primeiros microcomputadores pessoais, com programação em BASIC, em seguida passei a programar microcontroladores e microprocessadores em linguagem Assembly. Um montador de linguagem Assembly ou simplesmente um Assembler, era o máximo do luxo que podíamos ter. Em geral o código era convertido manualmente consultando-se a tabela de mnemônicos do microprocessador, traduzindo esse código e transferindo-o para o processador com auxílio de um equipamento programador apropriado. Era muito sofrido (apesar de divertido também).

 

Enquanto trabalhava no desenvolvimento de um SDCD (sistema digital de controle distribuído) tive meu primeiro contato com uma linguagem de alto nível para desenvolvimento de software para microprocessadores. O fantástico PL/M (Programming Language for Microcomputers) da Intel, rodado num sistema denominado MDS 80 (Microcomputer Development System for 8080) que utilizava discos flexíveis de 8 polegadas. Era pouco eficiente na geração de código, mas acelerava muito a produção do programa e facilitava a sua manutenção.

 

Depois de algum tempo, começaram a aparecer os  Apples, PCs, Microsoft, Compiladores C com interfaces amigáveis para geração e depuração de software para processadores, apareceram até os primeiros simuladores! (Um verdadeiro paraíso para um desenvolvedor). Quem entra na profissão nos dias de hoje, não imagina a sorte que tem! Atualmente um compilador C gera um código de máquina melhor do que muitos programadores experientes em assembly poderiam gerar. Só se programa em assembly no caso de extrema necessidade de otimização de código. (Ainda bem!!!)

 

Agora falando de boas práticas… Dificilmente pode-se falar em unanimidade quando o assunto é boas práticas. O que vou abordar aqui são as práticas que tive a sorte de conhecer e algumas eu mesmo desenvolvi. Para mim funcionaram muito bem! Talvez também sejam boas para você!

 

Eu sou, por natureza, organizado ao extremo com relação aos meus trabalhos profissionais. Quase sempre trabalhei em projetos de longo prazo e frequentemente com uma equipe reduzida. Há alguns anos trabalho praticamente só e por isso que eu acho que muitos dos meus colegas que trabalham por conta, ou são freelancers, podem tirar um bom proveito dessa minha experiência. Para profissionais como nós é essencial ter produtividade, mas também é necessário e essencial gastar algum tempo com um bom preparo, conforme já abordado no artigo “Projetos de Desenvolvimento: antes de começar - (Parte I)”. Deve-se investir também um pouco mais de tempo para aplicar algumas das boas práticas ao seu software, de forma que ele saia “redondo” e no final não se tenha que gastar muito tempo para fazer a manutenção dele e eventualmente “queimar” o seu bom nome como profissional. Mais vale você investir algum tempo no desenvolvimento de um software de qualidade do que gastar um tempo longo na manutenção e reparo desse mesmo software.

 

 

Série: Boas práticas para o desenvolvimento de software

 

Nos próximos artigos vou descrever as práticas propriamente ditas e apresentar algumas ferramentas de produtividade muito interessantes.

  • Boas práticas para o desenvolvimento de software - Parte I - É abordada a ideia de desenvolver seu software de forma estruturada, porém utilizando alguns métodos de encapsulamento de dados.
  • Boas práticas para o desenvolvimento de software - Parte II - São apresentadas sugestões sobre como dar nomes mnemônicos a variáveis e funções. Também é apresentada a notação húngara para auxiliar a escrever programas mais inteligíveis.

 

Se você tiver sugestões e críticas, por favor faça-as que serão muito bem vindas.

 

Outros artigos da série

Boas práticas para o desenvolvimento de software - Parte I >>
Este post faz da série Boas práticas para o desenvolvimento de software. Leia também os outros posts da série:
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

3
Deixe um comentário

avatar
 
3 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Jhonatan CasaleWillian Gomes ArrudaEmbarcados – Sua fonte de informações sobre Sistemas Embarcados Boas práticas para o desenvolvimento de software - Parte II » Embarcados - Sua fonte de informações sobre Sistemas Embarcados Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Jhonatan Casale
Visitante

Obrigado pelo artigo, pela série, agradeço o cuidado em trazer este tema que
eventualmente passa batido em alguns projetos.

Willian Gomes Arruda
Visitante
Willian Gomes Arruda

Boa noite, adorei o post, estudo em área técnica, amo esse fantastico mundo de hardware/software, e espero em breve iniciar uma graduaçao na area de TI que e minha paixao.

trackback

[...] anteriores da série Boas práticas para o desenvolvimento de software, foram apresentados: uma introdução ao assunto, onde é mostrada a necessidade de boas práticas como uma forma de melhorar a [...]