Writing code, especially in larger software projects can be very challenging. In this video, I’m going to cover cohesion and coupling to help you write better code. I’ll go through a Python program in detail and I’ll show you how to write code that has low coupling and strong cohesion. Coupling and Cohesion are part of the GRASP principles of object-oriented design, as proposed by Craig Larman in his book (see below for a link).

Here are a few books about software design that might interest you:

  • Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, by Craig Larman: https://amzn.to/364wgLb
  • Design Patterns: Elements of Reusable Object-Oriented Software, by the Gang of Four: https://amzn.to/39451Cv

✅ Write cleaner code with Sourcery: https://sourcery.ai/?utm_source=YouTube&utm_medium=aff&utm_campaign=ArjanCodes

My gear:
📷 Sony A7C - https://amzn.to/3aShCtw
🎙 Rode Wireless GO - https://amzn.to/3pSLFVU
💡 GVM RGB LED light - https://amzn.to/3qRNJid
💡 GVM 100W light with lantern softbox - https://amzn.to/2NuU8lk

☕If you want to support this channel, you can buy me a coffee here: https://www.buymeacoffee.com/arjancodes.

You can find the code I worked on in this episode in my GitHub repository: https://github.com/arjancodes/betterpython

All parts in this series:
Part 1: Cohesion and coupling - https://youtu.be/eiDyK_ofPPM
Part 2: Dependency inversion - https://youtu.be/Kv5jhbSkqLE
Part 3: The strategy pattern - https://youtu.be/WQ8bNdxREHU
Part 4: The observer pattern - https://youtu.be/oNalXg67XEE
Part 5: Unit testing and code coverage - https://youtu.be/jmP3fp_BhmE
Part 6: Template method and bridge - https://youtu.be/t0mCrXHsLbI
Part 7: Exception handling - https://youtu.be/ZsvftkbbrR0
Part 7b: Monadic error handling - https://youtu.be/J-HWmoTKhC8
Part 8: Software architecture - https://youtu.be/ihtIcGkTFBU
Part 9: SOLID principles - https://youtu.be/pTB30aXS77U
Part 10: Object creation patterns - https://youtu.be/Rm4JP7JfsKY

Chapters:
0:00 Introduction
0:47 What is cohesion?
1:37 What is coupling?
3:59 Code example intro
6:39 Analyzing the code
7:56 Information expert
11:19 Reducing coupling
16:32 Improving cohesion
22:40 Recap
25:37 Outro

If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!

DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!

#python

Cohesion and Coupling: Write BETTER PYTHON CODE Part 1
1.30 GEEK