4 ms·
> What resources do you recommend folks at my level look into? I'd argue that your best bet for learning is starting a project that drives you, then throwing t
by GuestHNUser 3y ago
> What resources do you recommend folks at my level look into?
I'd argue that your best bet for learning is starting a project that drives you, then throwing that project away and starting it over again but try to make the code simpler. This way you can hone into what abstraction is actually necessary to solve your problem.
I strongly recommend ignoring design patterns and instead honing in on what the essential data flow is in your problem space. Most design patterns will bloat your code base and, thus, slow both your program and your programming velocity down.
As far as programming design and architecture goes, the best talks I have found come out of data orientated design talks. Casey Muratori has a number of talks well worth listening to[0][1][2]. I also enjoy Andrew Kelley's talk on Data Orientated Design specifically as it demonstrates DOD's power with actual numbers to back it up[3].
Tangent: I did my time with OOP design + trying to make my code 'clean' according to popular recommendations you'll see online. All of that time, I consider wasted because I focused too much on what the 'right' abstraction to use was, instead of solving my problem in the simplest way possible. I find now that often the best solution is the one that uses the least amount of abstraction and indirection. (E.g. One big function can be a lot easier to maintain than multiple little functions, you just have to develop a taste for when a function should be split up and why).
(If you must have a pattern to study though, the strategy pattern is the only one worth it. Often times, a simple switch statement is all you need for implementing the stategy effectively.)
[0] https://youtu.be/ZQ5_u8Lgvyk?si=uiiEwxMO1PjIEdxD https://youtu.be/ZQ5_u8Lgvyk?si=uiiEwxMO1PjIEdxD
[1] https://youtu.be/5IUj1EZwpJY?si=HCzyynWW425huM65 https://youtu.be/5IUj1EZwpJY?si=HCzyynWW425huM65
[2] https://youtu.be/tD5NrevFtbU?si=Y1mZZJsW21WDRMtu https://youtu.be/tD5NrevFtbU?si=Y1mZZJsW21WDRMtu
[3] https://vimeo.com/649009599 https://vimeo.com/649009599
- tomrod 3y agoFantastic recommendations. Thank you so much.