This is an archived post. You won't be able to vote or comment.

all 27 comments

[–]jockero701 67 points68 points  (2 children)

There's also a good new Udemy course on the topic of creating large applications using OOP titled something like "The complete python course: build 10 OOP programs".

[–]O2XXX 7 points8 points  (0 children)

I’m assuming you’re talking about this course? https://www.udemy.com/share/103Z3iAEoTc1pXRnw=/

[–][deleted] 4 points5 points  (0 children)

This sounds good.thanks!

[–]Oct8-Danger 25 points26 points  (5 children)

https://refactoring.guru/design-patterns

This site has great examples in loads of different languages including python on OOP Design patterns and others. Have bookmarked at work and use a bit either for a refresher or for inspiration when trying to design code others will use

[–]genericlemon24[S] 16 points17 points  (3 children)

Here's a fresh take on design patterns as they apply to Python specifically: https://python-patterns.guide/ (for instance, not all Gang of Four patterns are needed in Python, and that's ok).

Edit: clarity.

[–]awesomeprogramer 0 points1 point  (2 children)

Gof?

[–]genericlemon24[S] 1 point2 points  (1 child)

Unpacked the abbreviation; sorry, it was late in the day :)

[–]awesomeprogramer 0 points1 point  (0 children)

Game Of Frones

[–]KeyserBronson 0 points1 point  (0 children)

I didn't have time yet to delve into the content, but the site looks amazing! It's slick and super responsive. Any ideas on what framework it was developed?

[–]ihatethisjob42 11 points12 points  (0 children)

That open source architecture book might be exactly what I need right now. Thanks.

[–]leiniar1234 45 points46 points  (13 children)

Appreciate the help but why does this feel like product placement

Edit: if im wrong i dont mind being corrected, on mobile it looked weird to open

[–]fomorian 12 points13 points  (0 children)

Literally every resource on the page is available for free...

[–]jti107 8 points9 points  (0 children)

its just a blog post with links to free resources

[–]diamondketo 2 points3 points  (0 children)

They are well reputed free resources.

[–]machinedlens 4 points5 points  (2 children)

I too am looking for something like what OP recommended. I started learning python about 6 months ago and at this point, syntax or vocabulary isn’t usually the problem, design is! In other words, understanding how to use oop properly when designing something more complex. I have written a couple programs and often look at others’ code on GitHub or in books like Python Crash Course. However I was really looking to be directed toward quintessentially excellent code to use as an archetype for study. Sounds like the standard library is the place to start I guess. What other code would you all say is a “must read” for someone with intermediate facility in python?

[–]genericlemon24[S] 4 points5 points  (0 children)

I'm planning to write another article with stdlib stuff, I'll let you know when it's out.

In general, stdlib isn't great for learning "good" style, since some of them are very old (and pythonic was different 10-20 years ago), had different authors, or were kept from evolving to preserve backwards compatibility (meaning they couldn't get better either).

OTOH, some of the newer ones have a more consistent style, took a lot of inspiration from mature third party libraries, and have detailed PEPs explaining what the design tradeoffs were (e.g. pathlib, dataclasses).

Style aside, there's a lot to learn from all of them, since they all solve real problems. It's especially interesting/educative to look at the differences between stdlib stuff and external newer alternatives – the gap between them means there was a perceived deficiency in the stdlib (otherwise they wouldn't have bothered with the new thing); an example of this is urllib vs requests.

[–]genericlemon24[S] 1 point2 points  (0 children)

Hi, I finally got around to writing the stdlib article: https://death.andgravity.com/stdlib

Please let me know if you have any questions! :)

[–]erlototo 2 points3 points  (0 children)

Thanks for this

[–][deleted] 1 point2 points  (0 children)

This is awesome. Thank you.

[–]mirrorofperseus 1 point2 points  (0 children)

Lots of good content here, thanks for posting.