À medida que o final do ano se aproxima, os pensamentos dos programadores se voltam para o Advento do Código. No ar desde 2015, o site comemora as férias de dezembro e a codificação, com uma coleção de desafios diários.
Como funciona?
O Advento do Código site tem muito texto, com links verdes e uma apresentação geral que imita um editor de texto ou sessão de terminal.
Todos os dias, de 1º de dezembro a 25 de dezembro, um novo desafio fica disponível. Cada desafio é claramente descrito, com exemplos e quaisquer arquivos de entrada relevantes disponíveis para download. Existem duas tarefas por desafio.
Cada tarefa solicitará que você insira uma resposta final, que será algo que seu programa deveria ter calculado. Você pode usar qualquer idioma que desejar para concluir a tarefa. Em teoria, você pode descobrir algumas soluções à mão, mas isso geralmente será trabalhoso - e onde está a graça nisso, afinal?
Como você participa?
- Começar por logando em adventofcode.com, usando qualquer um dos serviços OAuth compatíveis com o site. O serviço mais óbvio a ser usado é GitHub, a plataforma colaborativa de código aberto. Você também pode usar uma conta do Google, Twitter ou Reddit.
- Vá para a tarefa diária. Se você está atrasado para começar, não se preocupe; você sempre pode concluir as tarefas dos dias anteriores para recuperar o atraso. Você deve definitivamente tentar trabalhar todos os dias em ordem, no entanto.
- Como em qualquer tarefa, exame ou pergunta de entrevista, você deve ler as instruções cuidadosamente! Geralmente haverá detalhes importantes que você precisa anotar em negrito, texto branco.
- Baixe todos os arquivos de dados necessários.
- Escreva sua solução em qualquer idioma que você escolher. Você pode até ser capaz de resolver algumas tarefas usando linha de comando Linux ferramentas.
- Depois de ter sua solução, insira-a na caixa na parte inferior da tarefa. Depois de concluir a primeira tarefa de cada dia, haverá um segundo para alongá-lo ainda mais.
Como são os desafios?
Os desafios começam simples e ficam mais difíceis à medida que o mês avança. A primeira tarefa deste ano é simplesmente adicionar alguns grupos de números de um arquivo de texto e calcular o maior total.
Uma tarefa pode parecer simples para começar, e você pode 'forçar' muitas delas, especialmente as fáceis. No entanto, como o desafio permite que você use qualquer idioma e pede apenas uma resposta final, você pode obter o que quiser dele. Por exemplo, você pode querer usar a série de uma destas maneiras:
- Para aprender um novo idioma do zero.
- Como um teste de 'velocidade', para ver com que rapidez você pode resolver cada tarefa.
- Para se testar com um idioma diferente a cada dia.
- Para ver o quão eficiente um programa você pode produzir, seja em quão rápido ele roda, quão pouca memória ele usa, ou quantas linhas de código ele contém.
- Como prática para escrever o código mais limpo e legível você pode.
Todos os desafios inserem-se num tema mais vasto, tipicamente relacionado com o Natal. A história deste ano é sobre os duendes do Papai Noel coletando frutas para sustentá-los durante o período de trabalho mais movimentado.
Aprenda desafiando a si mesmo e se divertindo
A web está cheia de jogos de programação e desafios dos quais você pode participar. Eles podem nem sempre produzir resultados práticos, mas oferecem uma pausa divertida no trabalho do dia-a-dia. E as tarefas interessantes costumam ser mais fáceis de ver do que as mundanas.