With the best of intentions, when I lurk in posts or post myself, people sometimes come across with the attitude of 'why on earth are you doing this like that', or 'that's completely unnecessary you shouldn't do that'. Now a large portion is probably down to a simple disparity in experience (on my part also), but it does garner the question of... If I wanted to learn more about the best ways to structure or design a program / piece of code... Where would be the best places to go looking?
I've been reading about the SOLID design principles and common Design Patterns in programming but honestly, it seems that the second any arduino folk see a bunch of interface classes with multiple inheritance (which seems to align with SOLID and most design patterns) that they try to flame for over complicating the issue or saying 'this isn't Java, not everything has to be a class'.
All potentially great advice, but it leaves me and maybe others slightly torn in the quest for structuring our code in the best (right?) way.
Of course, if the code does its job its fine, but that doesn't help the quest for bettering yourself as a programmer.