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.

segunda-feira, 16 de março de 2015

Raspberry Pi, um computador do tamanho de um cartão de cŕedito

O Raspberry Pi é um computador completo do tamanho de um cartão crédito, desenvolvido pela Raspberry Pi Foundation. Seu custo varia entre $20 e $35 dólares e ele consome menos de 5 watts de energia!
Desde de que foi lançado em 2012, o Raspberry Pi ganhou popularidade e diversos projetos já foram realizados com ele. Basta procurar na internet para encontrar centenas de ideias, de robôs autônomos à servidores caseiros.

segunda-feira, 9 de março de 2015

[Projeto] Estação meteorológica com Arduino - Parte 1


Recentemente tive a ideia de fazer uma pequena estação meteorológica utilizando Arduino, já que existem dezenas de sensores compatíveis com ele, com bibliotecas já prontas, bastando conectar o sensor e ler os dados.
O projeto será dividido em várias partes. Nesta primeira parte, vou explicar um pouco sobre os sensores utilizados, a conexão básica e o código necessário para ler os dados do sensor.
Para quem não conhece o Arduino, pode ler mais sobre ele aqui O que é um Arduino e o que pode ser feito com ele?

segunda-feira, 2 de março de 2015

Computerphile, canal de vídeos sobre computação e assuntos relacionados


Já recomendei aqui o Periodic Table of Videos, um canal do YouTube sobre química. O projeto começou a se expandir, abrangendo novas áreas, como a física, como canal Syxty Symbols, e a matemática, com o Numberphile. Este último acabou gerando mais um canal interessantíssimo, o Computherfile, voltado para a computação.
Com mais de 150 vídeos, abrangendo áreas como computação gráfica, matemática, programação e segurança,  é uma excelente fonte de conhecimento tanto para pessoas da área, como para aquelas apenas interessadas no assunto. 

Para quem viu o filme O Jogo da Imitação, que mostra um pouco sobre a vida de Alan Turing, o canal tem uma série de vídeos para você poder entender um pouco mais do assunto, tanto da Enigma como da máquina de Turing.
Infelizmente, não há legendas em português. Mas, você pode ver os vídeos e aproveitar para praticar seu inglês, essencial para a área de computação.

segunda-feira, 23 de fevereiro de 2015

Organize-se com o Evernote, um bloco de notas digital

O Evernote é um serviço online gratuito no qual você armazena, organiza e compartilha notas. Funciona como um bloco de notas digital e é perfeito para anotações de aulas, cursos e palestras.  Também funciona muito bem para organizar ideias e projetos.

segunda-feira, 16 de fevereiro de 2015

LastPass, gerencie suas senhas de forma gratuita

Segundo a empresa Splashdata, a senha mais utilizada de 2013 foi 123456

Com uma dezena de contas online, como e-mail, Facebook, Skype etc, a maioria das pessoas opta por uma única senha, normalmente fácil de advinhar, e a utiliza em todas as suas contas. Além de uma senha fraca ser perigosa, utilizar a mesma em vários lugares é pior ainda. Quando um lote de senhas é vazado de um serviço, e isso já aconteceu bastante, uma das primeiras coisas a serem feitas por pessoas mal intencionadas é verificar se aquela combinação de e-mail e senha foram utilizadas em outro lugar. Com uma única senha, basta que algum serviço que você use seja comprometido para todas as suas contas serem potencialmente invadidas.
A solução é usar gerenciadores de senha. Você cria senhas fortes e aleatórias para suas contas e salva todas elas em um cofre. Esse cofre abre com uma senha, que é a única que você deve se lembrar.
Existem várias soluções. Uma das que eu mais gostei foi o LastPass.
Aclamado por muitos, o serviço permite que você armazene suas senhas na nuvem gratuitamente. Por um dólar por mês, a versão premium oferece alguns recursos extras e a possibilidade de acessar todas as suas senhas em aplicativos mobile.

segunda-feira, 9 de fevereiro de 2015

Onde aprender a programar online?

Trabalho final para a disciplina de algoritmos, escrito em C. (Mr_Do)
Já pensou em aprender a programar ou tem curiosidade de saber como é?
Cada programa ou site que você visita é programado através de milhares de linhas de código, escritas em uma certa linguagem de programação. Você pode estudar essas linguagens e desenvolver suas próprias ideias!
Se você está começando na área de TI, seja entrando na faculdade ou pensando em fazer, aprender a programar será algo muito benéfico e facilitará o aprendizado mais formal que você verá nas aulas.
E mesmo que você não seja da área, pode aprender a  programar para desenvolver algum sistema, montar um site ou blog pessoal ou só pelo desafio. Programar é como aprender outro idioma!
No entanto, aprender corretamente, atento desde o início aos exemplos de boas práticas, é fundamental. Há várias formas de escrever um programa, mas há boas práticas e convenções que devem ser seguidas. Por isso é muito importante consultar e usar as fontes certas.

segunda-feira, 2 de fevereiro de 2015

Jogo interativo em C (trabalho final de Algoritmos e Programação)


Semestre passado, na cadeira de algoritmos e programação (INF01202), disciplina na qual se aprende o básico sobre programar na linguagem C, desenvolvemos como trabalho final um jogo, baseado no clássico  Mr. Do!. Você pode jogar o original no Lets Play SNES - Mr  Do!.

O objetivo era implementar a maior quantidade de recursos possíveis, utilizando uma matriz de caracteres para representar os componentes do jogo e manipulando esses caracteres. Por exemplo, o personagem poderia ser a letra M. Ao detectar que a tecla "w" foi pressionada, a letra M era movida uma linha para cima. O jogo detecta colisões com fantasmas e com frutas. Como aprendemos manipulação de arquivos, as pontuações mais altas são salvas, e os níveis são carregados de um arquivo txt.