Reflections about Clean Code
Many years ago I read the book Clean Code by Robert C. Martin, and I recently found some notes I took from the book and wanted to see which highlights are still valid on my coding principles.
Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or to challenge each other.
You don’t need a computer science background to participate - just a little programming knowledge and some problem solving skills will get you pretty far. Nor do you need a fancy computer; every problem has a solution that completes in at most 15 seconds on ten-year-old hardware.
Why not! With Advent of Code (AoC) you get daily challenges to solve. You can either use your favourite programming language or a new one you want to learn but don’t have time at work. Or maybe you want to get into programming. Any reason is a good reason!
If what you’re after is a challenge with your friends you can create your own private leaderboard and invite your friends to join. You can also join the public leaderboard and see how you compare to others. You can also create one for your company and see who is the fastest coder in your team (or the one with most time/patience to go through the whole month).
On the first of december a new problem will be unlocked, this is for example last year’s first problem. When you create an accoutn you’re able to see your input for your problem and then put your answer! Don’t try to brute force it, won’t work.
Personally I use aoc-to-markdown to automatically copy the problem and my input locally so that I can work offline, and keep things consistent. i.e aoc-to-markdown -y 2021 -d 5 -o 2021 -i
Go code! Share the fun with your friends, teach someone how to code Eric Wastl writes the problem in a way that you don’t need to have studied computer science to solve them!
If you want you can reach out to me on any of my socials and we can help each other out! And if you want to see my solutions you can find them here.