As usual, my first quick and dirty attempt at the challenge, followed by a (hopefully) better version with a list of things I learned during the day :)!
Full video on Youtube:
Here is a quick giphy for you to enjoy :)
Time : 23 minutes
Here is my first version of the code :
As usual now, quick and dirty. Many things I want to fix when I come back to it :
- I don't want to split many times like this. There must be a cleaner way to create the data structure from the lines.
- I don't like the multiple binary comparisons. I am implementing a XOR Gate, hopefully it is available in the standard Kotlin library.
- I think most of the code can be embedded into the data class, responsabilities belong to the Class itself :).
Quite a bit smaller, but also MUCH cleaner!
Learnings of the day!
Let's go through things :
- First, I got rid of the top class and run inside a
mainfunction directly, an advice I got from Twitter.
- I found that the XOR gate is part of the standard library! More reasons to love Kotlin every day :).
- My main and happpiest discovery of the day though is Regexp destructuring! That's a mouthful but it's crazy cool stuff : You can basically create a regexp and use it to return all the data extracted as groups; which I can then use to create my data classes. Definitely a super cool find, and already worth writing the blog and redoing the exercises twice!
- Last but not least, I improved my recording setup, and am now using OBS to record myself
That's it! See you tomorrow for more!
Do you have remarks? I'm curious, let me know on Twitter!