I have been watching a course on Object Oriented Design on LinkedIn Learning (which I get through my company). I have found it helpful in better understanding the foundational concepts of object oriented programming. I believe that it's important to continually revisit the basics, especially in my case where I'm not heavily practiced with it. They go through the process of designing an OO system—things like developing use cases and user stories, picking out the nouns and the behaviors, then starting to form the structure and relationships between everything. Going through the thought process from the very start is definitely helpful for when it comes time to working on your own project. You'll know where to begin and how to build yourself a roadmap to make the transition to code much cleaner. You're following your own well thought out plan. It also helps understand the underlying concepts that go into design patterns, which I am also trying to learn, but it's difficult when you aren't super solid with OOP yet. I'll keep reinforcing and practicing this knowledge while I continue.
I also went ahead and ordered Design Patterns and Clean Code. I know I'm going to need to read Design Patterns because, from what I've gathered, it's just too important to ignore. I also found this nifty little resource that has great, short explanations and makes for a quick reference. They have great examples when it comes to refactoring as well. I got Clean Code because it's another one of those must-read books that appears on every recommendation. So now I have 3 important books I own and need to read:
- Pragmatic Programmer - I'm more than half way done with this book so far. Definitely some good things in there to understand, especially when new to the work environment.
- Design Patterns
- Clean Code
Unfortunately, I didn't get much work done on my projects this week outside of some design tweaks that were irking me while using my site. I've been more focused on the learning side of things, and that isn't a bad thing. I just have to remember to keep practicing to solidify my knowledge.
See you next week!