Nunca confie em um programador vestindo terno
Pra quem ainda não sabe, recentemente lancei um projeto pessoal chamado def programming, um site que reúne citações sobre programação e a indústria de softwares no geral. Foi um trabalho divertido, não só porque foi um bom laboratório em Python/Django, mas principalmente porque foi interessante pesquisar as citações publicadas.
Abaixo fiz uma seleção das melhores citações na minha humilde opinião. Todas são ótimas dicas para quem está começando agora no mundo da programação.
Tentei traduzir as citações da melhor forma possível e para isso contei com ajuda da @leticiastallone.
Especificação
Às vezes, o problema está em descobrir qual é o problema.
— Gordon Glegg
Resolva o problema primeiro, só então escreva o código.
— John Johnson
Saber especificar e, principalmente, saber ler corretamente especificações é uma das tarefas mais importantes no trabalho de um programador. Hoje em dia é muito mais fácil colocar um protótipo funcional em prática. Por isso,também é muito mais fácil escrever código antes de pensar em resolver o problema. Quase sempre isso vai ser um novo problema.
Para ilustrar suas ideias, visualizar possíveis caminhos e soluções antes de escrever qualquer código, procure sempre utilizar ferramentas de mind mapping e brainstorming (o MindMeister é um bom exemplo) .
Comentários
— Martin Fowler
— John Shore
— Steve McConnell
Comentários, em sua esmagadora maioria, são desnecessários. Evite comentar apenas por comentar. Na verdade, evite comentar. O segredo é escolher bem os nomes para classes, métodos, funções e atributos.
Produtividade e prazos
Adicionar mão de obra extra a um projeto atrasado o torna ainda mais atrasado.
— Frederick P. Brooks
— Ron Minnich
— Steve McConnell
Quando em um buraco, pare de cavar! É comum a gente acabar inventando novos problemas quando estamos resolvendo um outro problema completamente diferente. Isso acontece quando tentamos utilizar novas ferramentas, novas metodologias com as quais não somos familiarizados. Existe uma hora certa para tudo e, definitivamente, quando encontrar um problema que necessite uma solução rápida, utilize ferramentas nas quais você tem maior experiência.
Programadores
— Linus Torvalds
— Larry Wall
Um bom programador é um bom programador porque ama programar. Isso é um pouco difícil para algumas pessoas entenderem, mas, nessa profissão, dinheiro e status não são os objetivos principais (e nunca vão ser). Um bom programador vai sempre priorizar um ambiente rico em conhecimento, com projetos mais desafiadores.
Funções
— Robert C. Martin
Funções devem fazer uma coisa apenas. Fazê-la bem. Fazer somente ela.
— Robert C. Martin
Função é um dos conceitos mais básicos e mais bonitos do universo do programador. No entanto, leva um bom tempo até que um programador entenda e descubra seu verdadeiro sentido, sua melhor forma. Essas duas citações definem bem o objetivo de uma função. Quando você acha que uma função é pequena, provavelmente ela pode ser ainda menor, pode ser mais específica.
Estimativa
— Tom Cargill
A reta final de um software, muitas vezes, é a parte mais difícil dele. É nessa hora que a pressão do cliente aumenta, os bugs resolvem dar as caras, as especificações mudam, a equipe muda… Os últimos 10% do desenvolvimento correspondem a um momento crucial na vida do software.
Qualidade do código
O software tosco de um é o trabalho integral de outro.
— Jessica Gaston
— Martin Fowler
Enquanto você cria um código ruim, tenha certeza que este mesmo código vai virar o trabalho integral de um camarada programador. Utilize e siga sua intuição na hora de programar e, quando alguma coisa começar a cheirar mal, trate logo de parar tudo e arrumar a casa.